In [1]:
import apple
import numpy as np
In [2]:
asin_str='''
{ asin ← refl. (λz. {
as ⟜ ⟨1.5707288,_0.2121144,0.0742610,_0.0187293⟩;
Ho ← gen. 1 (z*) 4;
𝜋%2-√(1-z)*Ho⋅as
});
(asin')
}
'''
asin=apple.jit(asin_str)
In [3]:
xs=np.arange(-1,1,0.01,dtype=np.float64)
In [4]:
%timeit asin(xs)
381 ns ± 2.93 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
In [5]:
%timeit np.asin(xs)
714 ns ± 1.47 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)