tanhf (example 3.4)

Time bar (total: 5.4s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze109.0ms (2%)

Memory
28.3MiB live, 141.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
25%25%75%0%0%0%0%3
37.5%37.5%62.5%0%0%0%0%4
43.8%43.7%56.2%0%0%0%0%5
46.9%46.9%53.1%0%0%0%0%6
48.4%48.4%51.5%0%0%0%0%7
49.2%49.2%50.8%0%0%0%0%8
49.6%49.6%50.4%0%0%0%0%9
49.8%49.8%50.2%0%0%0%0%10
49.9%49.9%50.1%0%0%0%0%11
50%49.9%50%0%0%0%0%12
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample1.9s (34%)

Memory
6.1MiB live, 1 645.0MiB allocated
Samples
647.0ms2 257×2valid
592.0ms4 208×0valid
189.0ms569×3valid
128.0ms1 215×1valid
8.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.2s
ival-cos: 730.0ms (59.6% of total)
ival-sin: 180.0ms (14.7% of total)
adjust: 122.0ms (10% of total)
ival-div: 97.0ms (7.9% of total)
ival-sub: 82.0ms (6.7% of total)
ival-true: 6.0ms (0.5% of total)
exact: 5.0ms (0.4% of total)
ival-assert: 3.0ms (0.2% of total)
Bogosity

explain254.0ms (4.7%)

Memory
26.2MiB live, 149.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
710-1(3.8973132795588845e+154)(-.f64 #s(literal 1 binary64) (cos.f64 x))
650-3(-1.3440810208745528e-158)(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
00-0-#s(literal 1 binary64)
00-0-(cos.f64 x)
00-0-(sin.f64 x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 #s(literal 1 binary64) (cos.f64 x))cancellation704
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))u/n620
(-.f64 #s(literal 1 binary64) (cos.f64 x))underflow62
Confusion
Predicted +Predicted -
+1321
-0123
Precision
1.0
Recall
0.9924812030075187
Confusion?
Predicted +Predicted MaybePredicted -
+13210
-03120
Precision?
0.9779411764705882
Recall?
1.0
Freqs
test
numberfreq
0124
1132
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
114.0ms130×2valid
27.0ms256×0valid
11.0ms96×1valid
10.0ms30×3valid
Compiler

Compiled 45 to 22 computations (51.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 119.0ms
ival-cos: 90.0ms (75.5% of total)
ival-sin: 11.0ms (9.2% of total)
adjust: 7.0ms (5.9% of total)
ival-div: 6.0ms (5% of total)
ival-sub: 5.0ms (4.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess44.0ms (0.8%)

Memory
5.9MiB live, 43.4MiB allocated
Algorithm
egg-herbie
Rules
204×lower-fma.f64
204×lower-fma.f32
140×lower-*.f64
140×lower-*.f32
98×div-sub
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
13011
2738
31808
44438
56818
67068
067
0104
1204
2264
3374
4584
5814
61144
71884
83104
95194
105614
115644
125724
135784
145824
155894
165964
175974
05974
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
Outputs
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
Symmetry

(negabs x)

Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.0%
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify27.0ms (0.5%)

Memory
-26.1MiB live, 10.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 x)
cost-diff0
(cos.f64 x)
cost-diff0
(-.f64 #s(literal 1 binary64) (cos.f64 x))
cost-diff6592
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
Rules
204×lower-fma.f64
204×lower-fma.f32
140×lower-*.f64
140×lower-*.f32
82×div-sub
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
01014
12014
22614
33714
45814
58114
611414
718814
831014
951914
1056114
1156414
1257214
1357814
1458214
1558914
1659614
1759714
059714
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
#s(literal 1 binary64)
(cos.f64 x)
x
(sin.f64 x)
Outputs
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
#s(literal 1 binary64)
(cos.f64 x)
x
(sin.f64 x)

localize54.0ms (1%)

Memory
-5.9MiB live, 39.2MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(sin.f64 x)
accuracy0
(cos.f64 x)
accuracy14.871107673648089
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
accuracy15.681067201600388
(-.f64 #s(literal 1 binary64) (cos.f64 x))
Samples
19.0ms128×0valid
18.0ms65×2valid
5.0ms48×1valid
5.0ms15×3valid
Compiler

Compiled 19 to 8 computations (57.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 39.0ms
ival-cos: 19.0ms (49.1% of total)
ival-sin: 11.0ms (28.4% of total)
adjust: 3.0ms (7.8% of total)
ival-div: 3.0ms (7.8% of total)
ival-sub: 2.0ms (5.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series3.0ms (0.1%)

Memory
1.6MiB live, 1.6MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())
#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())
#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())
#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())
Outputs
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))) (taylor 0 x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* (pow x 2) (- (* 1/720 (pow x 2)) 1/24)))) (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/720 (* -1/40320 (pow x 2)))) 1/24)))) (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1/2 (pow x 2))) (taylor 0 x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2))) (taylor 0 x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2))) (taylor 0 x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1/6 (pow x 2)))) (taylor 0 x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))) (taylor 0 x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))) (taylor 0 x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (sin x) (taylor inf x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (sin x) (taylor inf x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (sin x) (taylor inf x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (sin x) (taylor inf x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) (patch (/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) (cos.f64 x)) (patch (-.f64 #s(literal 1 binary64) (cos.f64 x)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt (cos.f64 x) (patch (cos.f64 x) #<representation binary64>) () ())) ())
#s(alt (sin x) (taylor -inf x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (sin x) (taylor -inf x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (sin x) (taylor -inf x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
#s(alt (sin x) (taylor -inf x) (#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
((/ (- 1 (cos x)) (sin x)) (- 1 (cos x)) (cos x) (sin x))
1.0ms
x
@-inf
((/ (- 1 (cos x)) (sin x)) (- 1 (cos x)) (cos x) (sin x))
1.0ms
x
@inf
((/ (- 1 (cos x)) (sin x)) (- 1 (cos x)) (cos x) (sin x))

simplify279.0ms (5.1%)

Memory
35.1MiB live, 190.0MiB allocated
Algorithm
egg-herbie
Rules
19 148×lower-fma.f64
19 148×lower-fma.f32
3 796×lower-*.f64
3 796×lower-*.f32
3 232×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079286
1224286
2555280
31661280
43000280
54254280
64606280
75336280
86824280
08376256
Stop Event
iter limit
node limit
Counts
48 → 47
Calls
Call 1
Inputs
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(* (pow x 2) (+ 1/2 (* (pow x 2) (- (* 1/720 (pow x 2)) 1/24))))
(* (pow x 2) (+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/720 (* -1/40320 (pow x 2)))) 1/24))))
1
(+ 1 (* -1/2 (pow x 2)))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
x
(* x (+ 1 (* -1/6 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6))))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(cos x)
(cos x)
(cos x)
(cos x)
(sin x)
(sin x)
(sin x)
(sin x)
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(cos x)
(cos x)
(cos x)
(cos x)
(sin x)
(sin x)
(sin x)
(sin x)
Outputs
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 2) (+ 1/2 (* (pow x 2) (- (* 1/720 (pow x 2)) 1/24))))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 x x) #s(literal -1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 2) (+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/720 (* -1/40320 (pow x 2)))) 1/24))))
(*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/40320 binary64) (*.f64 x x) #s(literal 1/720 binary64)) (*.f64 x x) #s(literal -1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow x 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1 binary64))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal -1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))
x
(* x (+ 1 (* -1/6 (pow x 2))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/6 binary64) x)
(* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 x x) #s(literal -1/6 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 x x) #s(literal 1/120 binary64)) (*.f64 x x) #s(literal -1/6 binary64)) x)
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)

rewrite144.0ms (2.7%)

Memory
-12.0MiB live, 148.4MiB allocated
Rules
4 606×lower-*.f64
4 606×lower-*.f32
3 722×lower-/.f32
3 720×lower-/.f64
2 028×lower--.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0615
01012
13912
224512
3235511
0888511
Stop Event
iter limit
node limit
iter limit
Counts
4 → 615
Calls
Call 1
Inputs
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(cos.f64 x)
(sin.f64 x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval103.0ms (1.9%)

Memory
10.0MiB live, 168.6MiB allocated
Compiler

Compiled 13 164 to 1 644 computations (87.5% saved)

prune16.0ms (0.3%)

Memory
9.7MiB live, 45.5MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New6566662
Fresh000
Picked101
Done000
Total6576663
Accuracy
100.0%
Counts
663 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
6.7%
(pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64))
100.0%
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
51.3%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
Compiler

Compiled 106 to 78 computations (26.4% saved)

simplify66.0ms (1.2%)

Memory
-1.6MiB live, 73.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
cost-diff0
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
cost-diff0
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
cost-diff0
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
cost-diff0
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
cost-diff0
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
cost-diff0
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
cost-diff0
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
cost-diff0
(*.f64 x #s(literal 1/2 binary64))
cost-diff0
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
cost-diff0
(*.f64 #s(literal 1/2 binary64) x)
cost-diff0
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
Rules
1 918×lower-fma.f32
1 906×lower-fma.f64
788×distribute-lft-in
552×lower-+.f64
552×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027204
046192
184192
2144192
3296192
4653192
5949192
6999192
71077192
81200192
91410192
101452192
111455192
121463192
131469192
141473192
151480192
161655192
171905192
181911192
01911192
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
(*.f64 x #s(literal 1/2 binary64))
x
#s(literal 1/2 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(*.f64 x x)
x
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
#s(literal 1/240 binary64)
(*.f64 x x)
x
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
#s(literal 17/40320 binary64)
(*.f64 x x)
x
#s(literal 1/240 binary64)
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
Outputs
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 x #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
x
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
(*.f64 x #s(literal 1/2 binary64))
x
#s(literal 1/2 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(*.f64 x x)
x
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
#s(literal 1/240 binary64)
(*.f64 x x)
x
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
#s(literal 17/40320 binary64)
(*.f64 x x)
x
#s(literal 1/240 binary64)
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)

localize181.0ms (3.3%)

Memory
-8.2MiB live, 154.6MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.0390625
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
accuracy0.046875
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
accuracy0.31100143025645166
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
accuracy31.37875180515255
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
accuracy0.037441259768442016
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
accuracy0.04296875
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
accuracy0.29798805030693365
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
accuracy31.373095023632263
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
accuracy0
(*.f64 x x)
accuracy0.046875
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
accuracy0.29558851795670427
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
accuracy31.33590837736428
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
accuracy0
(*.f64 x #s(literal 1/2 binary64))
accuracy31.162441164189012
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
accuracy0
(*.f64 #s(literal 1/2 binary64) x)
accuracy0
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
Samples
81.0ms65×2valid
41.0ms128×0valid
20.0ms48×1valid
15.0ms15×3valid
Compiler

Compiled 176 to 31 computations (82.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 133.0ms
ival-cos: 58.0ms (43.7% of total)
ival-mult: 26.0ms (19.6% of total)
adjust: 12.0ms (9% of total)
const: 12.0ms (9% of total)
ival-add: 9.0ms (6.8% of total)
ival-tan: 5.0ms (3.8% of total)
ival-sin: 5.0ms (3.8% of total)
ival-div: 3.0ms (2.3% of total)
ival-sub: 3.0ms (2.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series23.0ms (0.4%)

Memory
-24.9MiB live, 19.6MiB allocated
Counts
17 → 204
Calls
Call 1
Inputs
#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())
#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())
#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())
#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())
#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))) (taylor 0 x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt 1/2 (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* 1/24 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* 1/24 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* 1/24 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt 1/2 (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* 1/24 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt 1/24 (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/24 (* 1/240 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/24 (* 1/240 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/24 (* 1/240 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt 1/2 (taylor 0 x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* 1/24 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt 1/24 (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/24 (* 1/240 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt 1/240 (taylor 0 x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/240 (* 17/40320 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/240 (* 17/40320 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/240 (* 17/40320 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor inf x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor inf x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor inf x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor inf x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/240 (pow x 5)) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2)))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2)))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/240 (pow x 4)) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2)))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2)))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/240 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 17/40320 (pow x 7)) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 7) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 7) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2)))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 7) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (+ (* 1/240 (/ 1 (pow x 2))) (* 1/2 (/ 1 (pow x 6))))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 17/40320 (pow x 6)) (taylor inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 6) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2)))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (+ (* 1/240 (/ 1 (pow x 2))) (* 1/2 (/ 1 (pow x 6))))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 17/40320 (pow x 4)) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2)))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2)))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 17/40320 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) (patch (tan.f64 (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/240 (pow x 5)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 5) (- (* -1 (/ (+ 1/24 (* 1/2 (/ 1 (pow x 2)))) (pow x 2))) 1/240))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 5) (- (* -1 (/ (+ 1/24 (* 1/2 (/ 1 (pow x 2)))) (pow x 2))) 1/240))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/240 (pow x 4)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/240 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 17/40320 (pow x 7)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 7) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 7) (- (* -1 (/ (+ 1/240 (* 1/24 (/ 1 (pow x 2)))) (pow x 2))) 17/40320))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 7) (- (* -1 (/ (+ 1/24 (* 1/2 (/ 1 (pow x 2)))) (pow x 4))) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 17/40320 (pow x 6)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 6) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (+ (* 1/240 (/ 1 (pow x 2))) (* 1/2 (/ 1 (pow x 6))))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 17/40320 (pow x 4)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (patch (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 17/40320 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (patch (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
11.0ms
x
@-inf
((tan (* 1/2 x)) (* 1/2 x) (/ (- 1 (cos x)) (sin x)) (* x 1/2) (/ (- 1 (cos x)) (sin x)) (* (+ (* (* x x) 1/24) 1/2) x) (+ (* (* x x) 1/24) 1/2) (* x x) (/ (- 1 (cos x)) (sin x)) (* (+ (* (+ (* 1/240 (* x x)) 1/24) (* x x)) 1/2) x) (+ (* (+ (* 1/240 (* x x)) 1/24) (* x x)) 1/2) (+ (* 1/240 (* x x)) 1/24) (/ (- 1 (cos x)) (sin x)) (* (+ (* (+ (* (+ (* 17/40320 (* x x)) 1/240) (* x x)) 1/24) (* x x)) 1/2) x) (+ (* (+ (* (+ (* 17/40320 (* x x)) 1/240) (* x x)) 1/24) (* x x)) 1/2) (+ (* (+ (* 17/40320 (* x x)) 1/240) (* x x)) 1/24) (+ (* 17/40320 (* x x)) 1/240))
3.0ms
x
@inf
((tan (* 1/2 x)) (* 1/2 x) (/ (- 1 (cos x)) (sin x)) (* x 1/2) (/ (- 1 (cos x)) (sin x)) (* (+ (* (* x x) 1/24) 1/2) x) (+ (* (* x x) 1/24) 1/2) (* x x) (/ (- 1 (cos x)) (sin x)) (* (+ (* (+ (* 1/240 (* x x)) 1/24) (* x x)) 1/2) x) (+ (* (+ (* 1/240 (* x x)) 1/24) (* x x)) 1/2) (+ (* 1/240 (* x x)) 1/24) (/ (- 1 (cos x)) (sin x)) (* (+ (* (+ (* (+ (* 17/40320 (* x x)) 1/240) (* x x)) 1/24) (* x x)) 1/2) x) (+ (* (+ (* (+ (* 17/40320 (* x x)) 1/240) (* x x)) 1/24) (* x x)) 1/2) (+ (* (+ (* 17/40320 (* x x)) 1/240) (* x x)) 1/24) (+ (* 17/40320 (* x x)) 1/240))
2.0ms
x
@0
((tan (* 1/2 x)) (* 1/2 x) (/ (- 1 (cos x)) (sin x)) (* x 1/2) (/ (- 1 (cos x)) (sin x)) (* (+ (* (* x x) 1/24) 1/2) x) (+ (* (* x x) 1/24) 1/2) (* x x) (/ (- 1 (cos x)) (sin x)) (* (+ (* (+ (* 1/240 (* x x)) 1/24) (* x x)) 1/2) x) (+ (* (+ (* 1/240 (* x x)) 1/24) (* x x)) 1/2) (+ (* 1/240 (* x x)) 1/24) (/ (- 1 (cos x)) (sin x)) (* (+ (* (+ (* (+ (* 17/40320 (* x x)) 1/240) (* x x)) 1/24) (* x x)) 1/2) x) (+ (* (+ (* (+ (* 17/40320 (* x x)) 1/240) (* x x)) 1/24) (* x x)) 1/2) (+ (* (+ (* 17/40320 (* x x)) 1/240) (* x x)) 1/24) (+ (* 17/40320 (* x x)) 1/240))

simplify149.0ms (2.7%)

Memory
28.8MiB live, 102.1MiB allocated
Algorithm
egg-herbie
Rules
14 174×lower-fma.f64
14 174×lower-fma.f32
4 532×lower-*.f64
4 532×lower-*.f32
2 884×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0971554
13191554
28431549
322021546
448021546
080921417
Stop Event
iter limit
node limit
Counts
204 → 204
Calls
Call 1
Inputs
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* 1/24 (pow x 2))))
1/2
(+ 1/2 (* 1/24 (pow x 2)))
(+ 1/2 (* 1/24 (pow x 2)))
(+ 1/2 (* 1/24 (pow x 2)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
1/2
(+ 1/2 (* 1/24 (pow x 2)))
(+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))
(+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))
1/24
(+ 1/24 (* 1/240 (pow x 2)))
(+ 1/24 (* 1/240 (pow x 2)))
(+ 1/24 (* 1/240 (pow x 2)))
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
1/2
(+ 1/2 (* 1/24 (pow x 2)))
(+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))
(+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))
1/24
(+ 1/24 (* 1/240 (pow x 2)))
(+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))
(+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))
1/240
(+ 1/240 (* 17/40320 (pow x 2)))
(+ 1/240 (* 17/40320 (pow x 2)))
(+ 1/240 (* 17/40320 (pow x 2)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* 1/24 (pow x 2))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 1/240 (pow x 5))
(* (pow x 5) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(* (pow x 5) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(* (pow x 5) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(* 1/240 (pow x 4))
(* (pow x 4) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(* 1/240 (pow x 2))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 17/40320 (pow x 7))
(* (pow x 7) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* (pow x 7) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(* (pow x 7) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (+ (* 1/240 (/ 1 (pow x 2))) (* 1/2 (/ 1 (pow x 6)))))))
(* 17/40320 (pow x 6))
(* (pow x 6) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (+ (* 1/240 (/ 1 (pow x 2))) (* 1/2 (/ 1 (pow x 6)))))))
(* 17/40320 (pow x 4))
(* (pow x 4) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(* 17/40320 (pow x 2))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* 1/24 (pow x 2))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 1/240 (pow x 5))
(* (pow x 5) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(* -1 (* (pow x 5) (- (* -1 (/ (+ 1/24 (* 1/2 (/ 1 (pow x 2)))) (pow x 2))) 1/240)))
(* -1 (* (pow x 5) (- (* -1 (/ (+ 1/24 (* 1/2 (/ 1 (pow x 2)))) (pow x 2))) 1/240)))
(* 1/240 (pow x 4))
(* (pow x 4) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(* 1/240 (pow x 2))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 17/40320 (pow x 7))
(* (pow x 7) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* -1 (* (pow x 7) (- (* -1 (/ (+ 1/240 (* 1/24 (/ 1 (pow x 2)))) (pow x 2))) 17/40320)))
(* -1 (* (pow x 7) (- (* -1 (/ (+ 1/24 (* 1/2 (/ 1 (pow x 2)))) (pow x 4))) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))))
(* 17/40320 (pow x 6))
(* (pow x 6) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (+ (* 1/240 (/ 1 (pow x 2))) (* 1/2 (/ 1 (pow x 6)))))))
(* 17/40320 (pow x 4))
(* (pow x 4) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(* 17/40320 (pow x 2))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
Outputs
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/24 (pow x 2)))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(+ 1/2 (* 1/24 (pow x 2)))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(+ 1/2 (* 1/24 (pow x 2)))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/24 (pow x 2)))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
1/24
#s(literal 1/24 binary64)
(+ 1/24 (* 1/240 (pow x 2)))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(+ 1/24 (* 1/240 (pow x 2)))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(+ 1/24 (* 1/240 (pow x 2)))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/24 (pow x 2)))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
1/24
#s(literal 1/24 binary64)
(+ 1/24 (* 1/240 (pow x 2)))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
(+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
1/240
#s(literal 1/240 binary64)
(+ 1/240 (* 17/40320 (pow x 2)))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
(+ 1/240 (* 17/40320 (pow x 2)))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
(+ 1/240 (* 17/40320 (pow x 2)))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 x #s(literal 1/2 binary64))))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(* 1/240 (pow x 5))
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 1/240 binary64))
(* (pow x 5) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)))
(* (pow x 5) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(fma.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/240 binary64)) (pow.f64 x #s(literal 5 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64)))
(* (pow x 5) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(fma.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1/240 binary64)) (pow.f64 x #s(literal 5 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64)))
(* 1/240 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/240 binary64))
(* (pow x 4) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) x) x)
(* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(* 1/240 (pow x 2))
(*.f64 #s(literal 1/240 binary64) (*.f64 x x))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(* 17/40320 (pow x 7))
(*.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 17/40320 binary64))
(* (pow x 7) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(*.f64 (-.f64 (/.f64 #s(literal 1/240 binary64) (*.f64 x x)) #s(literal -17/40320 binary64)) (pow.f64 x #s(literal 7 binary64)))
(* (pow x 7) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 17/40320 binary64)) (/.f64 #s(literal -1/240 binary64) (*.f64 x x))) (pow.f64 x #s(literal 7 binary64)))
(* (pow x 7) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (+ (* 1/240 (/ 1 (pow x 2))) (* 1/2 (/ 1 (pow x 6)))))))
(*.f64 (+.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 17/40320 binary64)) (-.f64 (/.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal -1/240 binary64) (*.f64 x x)))) (pow.f64 x #s(literal 7 binary64)))
(* 17/40320 (pow x 6))
(*.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 17/40320 binary64))
(* (pow x 6) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)))
(* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) x) x)
(* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (+ (* 1/240 (/ 1 (pow x 2))) (* 1/2 (/ 1 (pow x 6)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(* 17/40320 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 17/40320 binary64))
(* (pow x 4) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(*.f64 (*.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) x) x)
(* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
(* 17/40320 (pow x 2))
(*.f64 #s(literal 17/40320 binary64) (*.f64 x x))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 x #s(literal 1/2 binary64))))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(* 1/240 (pow x 5))
(*.f64 (pow.f64 x #s(literal 5 binary64)) #s(literal 1/240 binary64))
(* (pow x 5) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)))
(* -1 (* (pow x 5) (- (* -1 (/ (+ 1/24 (* 1/2 (/ 1 (pow x 2)))) (pow x 2))) 1/240)))
(*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)) x) x) #s(literal -1/240 binary64)) (pow.f64 x #s(literal 5 binary64)))
(* -1 (* (pow x 5) (- (* -1 (/ (+ 1/24 (* 1/2 (/ 1 (pow x 2)))) (pow x 2))) 1/240)))
(*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)) x) x) #s(literal -1/240 binary64)) (pow.f64 x #s(literal 5 binary64)))
(* 1/240 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/240 binary64))
(* (pow x 4) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) x) x)
(* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 4) (+ 1/240 (+ (/ 1/2 (pow x 4)) (* 1/24 (/ 1 (pow x 2))))))
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(* 1/240 (pow x 2))
(*.f64 #s(literal 1/240 binary64) (*.f64 x x))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/240 (* 1/24 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(* 17/40320 (pow x 7))
(*.f64 (pow.f64 x #s(literal 7 binary64)) #s(literal 17/40320 binary64))
(* (pow x 7) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(*.f64 (-.f64 (/.f64 #s(literal 1/240 binary64) (*.f64 x x)) #s(literal -17/40320 binary64)) (pow.f64 x #s(literal 7 binary64)))
(* -1 (* (pow x 7) (- (* -1 (/ (+ 1/240 (* 1/24 (/ 1 (pow x 2)))) (pow x 2))) 17/40320)))
(*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/240 binary64)) x) x) #s(literal -17/40320 binary64)) (pow.f64 x #s(literal 7 binary64)))
(* -1 (* (pow x 7) (- (* -1 (/ (+ 1/24 (* 1/2 (/ 1 (pow x 2)))) (pow x 4))) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)) (pow.f64 x #s(literal 4 binary64))) (-.f64 #s(literal -17/40320 binary64) (/.f64 #s(literal 1/240 binary64) (*.f64 x x)))) (pow.f64 x #s(literal 7 binary64)))
(* 17/40320 (pow x 6))
(*.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 17/40320 binary64))
(* (pow x 6) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)))
(* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) x) x)
(* (pow x 6) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (+ (* 1/240 (/ 1 (pow x 2))) (* 1/2 (/ 1 (pow x 6)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(* 17/40320 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 17/40320 binary64))
(* (pow x 4) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(*.f64 (*.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) x) x)
(* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 4) (+ 17/40320 (+ (/ 1/24 (pow x 4)) (* 1/240 (/ 1 (pow x 2))))))
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
(* 17/40320 (pow x 2))
(*.f64 #s(literal 17/40320 binary64) (*.f64 x x))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
(* (pow x 2) (+ 17/40320 (* 1/240 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))

rewrite215.0ms (3.9%)

Memory
-11.2MiB live, 178.7MiB allocated
Rules
6 308×lower-fma.f32
6 296×lower-fma.f64
4 758×lower-*.f32
4 746×lower-*.f64
4 410×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027182
046170
1179170
21220170
08510170
Stop Event
iter limit
node limit
iter limit
Counts
17 → 514
Calls
Call 1
Inputs
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
(*.f64 x #s(literal 1/2 binary64))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(*.f64 x x)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64))
(fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval114.0ms (2.1%)

Memory
27.6MiB live, 149.7MiB allocated
Compiler

Compiled 19 313 to 2 439 computations (87.4% saved)

prune39.0ms (0.7%)

Memory
-15.6MiB live, 68.1MiB allocated
Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New8062808
Fresh011
Picked055
Done000
Total8068814
Accuracy
100.0%
Counts
814 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
6.7%
(pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64))
100.0%
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
51.2%
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
51.3%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
Compiler

Compiled 70 to 53 computations (24.3% saved)

simplify28.0ms (0.5%)

Memory
-14.3MiB live, 24.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff6464
(pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64))
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
cost-diff0
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
cost-diff320
(fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))
cost-diff0
(/.f64 #s(literal 2 binary64) x)
cost-diff0
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
cost-diff1088
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))
Rules
266×lower-fma.f32
264×lower-fma.f64
178×lower-*.f32
172×lower-*.f64
120×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01971
02759
14657
26657
38057
410157
512557
615857
723257
835657
956457
1060657
1160957
1261757
1362257
1462657
1563357
1666657
1769057
1869257
069255
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))
#s(literal 1 binary64)
(/.f64 #s(literal 2 binary64) x)
#s(literal 2 binary64)
x
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
#s(literal 1/24 binary64)
(*.f64 x x)
x
(*.f64 x #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64))
#s(literal 1 binary64)
#s(literal -1/2 binary64)
Outputs
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 #s(literal 1/2 binary64) x))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1 binary64)
(/.f64 #s(literal 2 binary64) x)
#s(literal 2 binary64)
x
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) x) x #s(literal 1/2 binary64)) x))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) x) x #s(literal 1/2 binary64)) x)
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
#s(literal 1/24 binary64)
(*.f64 x x)
x
(*.f64 x #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
(pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64))
#s(literal 1 binary64)
#s(literal 1 binary64)
#s(literal -1/2 binary64)

localize91.0ms (1.7%)

Memory
15.4MiB live, 167.5MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0
(pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64))
accuracy0
(*.f64 x #s(literal 1/2 binary64))
accuracy0.04296875
(fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))
accuracy0.38543226795670427
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
accuracy31.33590837736428
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
accuracy0
(/.f64 #s(literal 2 binary64) x)
accuracy0.20703125
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))
accuracy31.162441164189012
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
Samples
34.0ms65×2valid
23.0ms128×0valid
13.0ms48×1valid
9.0ms15×3valid
Compiler

Compiled 57 to 20 computations (64.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 60.0ms
ival-cos: 26.0ms (43.4% of total)
adjust: 8.0ms (13.4% of total)
ival-div: 6.0ms (10% of total)
ival-mult: 6.0ms (10% of total)
ival-sin: 5.0ms (8.3% of total)
const: 3.0ms (5% of total)
ival-sub: 2.0ms (3.3% of total)
ival-pow: 2.0ms (3.3% of total)
ival-add: 1.0ms (1.7% of total)
exact: 1.0ms (1.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
8.7MiB live, 8.7MiB allocated
Counts
9 → 96
Calls
Call 1
Inputs
#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())
#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())
#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())
#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64)) (patch (pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2)))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2)))))))) (taylor 0 x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor inf x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 2 binary64) x) (patch (/.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) (patch (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (cos x)) (sin x)) (taylor -inf x) (#s(alt #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) (patch #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/2 binary64)) (patch (*.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@inf
((/ 1 (/ 2 x)) (/ (- 1 (cos x)) (sin x)) (/ 2 x) (+ (* (* 1/24 (* x x)) x) (* x 1/2)) (/ (- 1 (cos x)) (sin x)) (* 1/24 (* x x)) (* x x) (pow 1 -1/2) (* x 1/2))
1.0ms
x
@-inf
((/ 1 (/ 2 x)) (/ (- 1 (cos x)) (sin x)) (/ 2 x) (+ (* (* 1/24 (* x x)) x) (* x 1/2)) (/ (- 1 (cos x)) (sin x)) (* 1/24 (* x x)) (* x x) (pow 1 -1/2) (* x 1/2))
1.0ms
x
@0
((/ 1 (/ 2 x)) (/ (- 1 (cos x)) (sin x)) (/ 2 x) (+ (* (* 1/24 (* x x)) x) (* x 1/2)) (/ (- 1 (cos x)) (sin x)) (* 1/24 (* x x)) (* x x) (pow 1 -1/2) (* x 1/2))

simplify219.0ms (4%)

Memory
-28.5MiB live, 115.0MiB allocated
Algorithm
egg-herbie
Rules
6 696×lower-fma.f64
6 696×lower-fma.f32
5 206×lower-*.f64
5 206×lower-*.f32
1 982×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036458
1105458
2263458
3611458
41006458
51723458
63066458
74239458
85187458
95889458
106770458
117195458
127976458
08012437
Stop Event
iter limit
node limit
Counts
96 → 96
Calls
Call 1
Inputs
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(/ 2 x)
(/ 2 x)
(/ 2 x)
(/ 2 x)
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* 1/2 x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(* 1/24 (pow x 2))
(* 1/24 (pow x 2))
(* 1/24 (pow x 2))
(* 1/24 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ 2 x)
(/ 2 x)
(/ 2 x)
(/ 2 x)
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 1/24 (pow x 2))
(* 1/24 (pow x 2))
(* 1/24 (pow x 2))
(* 1/24 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ 2 x)
(/ 2 x)
(/ 2 x)
(/ 2 x)
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(/ (- 1 (cos x)) (sin x))
(* 1/24 (pow x 2))
(* 1/24 (pow x 2))
(* 1/24 (pow x 2))
(* 1/24 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
Outputs
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* 1/240 (pow x 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* (pow x 2) (+ 1/24 (* (pow x 2) (+ 1/240 (* 17/40320 (pow x 2))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(/ 2 x)
(/.f64 #s(literal 2 binary64) x)
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (* 1/2 (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(/ (- 1 (cos x)) (sin x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))

rewrite158.0ms (2.9%)

Memory
17.6MiB live, 168.2MiB allocated
Rules
7 420×lower-fma.f32
7 418×lower-fma.f64
4 532×lower-*.f32
4 526×lower-*.f64
2 658×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01963
02751
110049
261849
3643949
0822047
Stop Event
iter limit
node limit
iter limit
Counts
9 → 213
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x))
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
(/.f64 #s(literal 2 binary64) x)
(fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
(*.f64 x x)
(pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64))
(*.f64 x #s(literal 1/2 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval46.0ms (0.9%)

Memory
1.0MiB live, 104.6MiB allocated
Compiler

Compiled 4 983 to 721 computations (85.5% saved)

prune35.0ms (0.6%)

Memory
-18.3MiB live, 28.5MiB allocated
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New3081309
Fresh000
Picked213
Done055
Total3107317
Accuracy
100.0%
Counts
317 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
51.3%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
6.7%
#s(literal 1 binary64)
Compiler

Compiled 62 to 45 computations (27.4% saved)

simplify3.0ms (0.1%)

Memory
3.5MiB live, 3.5MiB allocated
Algorithm
egg-herbie
Rules
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
011
131
031
Stop Event
saturated
saturated
saturated
Calls
Call 1
Inputs
#s(literal 1 binary64)
Outputs
#s(literal 1 binary64)

localize6.0ms (0.1%)

Memory
9.1MiB live, 9.1MiB allocated
Samples
3.0ms256×0valid
Compiler

Compiled 3 to 4 computations (-33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

simplify2.0ms (0%)

Memory
4.8MiB live, 4.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
000
Stop Event
saturated
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

rewrite6.0ms (0.1%)

Memory
12.7MiB live, 12.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
000
000
Stop Event
saturated
saturated
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

eval0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune27.0ms (0.5%)

Memory
-23.6MiB live, 15.8MiB allocated
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done066
Total077
Accuracy
100.0%
Counts
7 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
51.0%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
51.3%
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
6.7%
#s(literal 1 binary64)
Compiler

Compiled 140 to 81 computations (42.1% saved)

regimes8.0ms (0.1%)

Memory
26.6MiB live, 26.6MiB allocated
Counts
10 → 1
Calls
Call 1
Inputs
#s(literal 1 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
(pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64))
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
Outputs
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
Calls

2 calls:

4.0ms
x
3.0ms
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes9.0ms (0.2%)

Memory
-15.0MiB live, 23.0MiB allocated
Counts
8 → 2
Calls
Call 1
Inputs
#s(literal 1 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
(pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64))
Outputs
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
#s(literal 1 binary64)
Calls

2 calls:

5.0ms
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
3.0ms
x
Results
AccuracySegmentsBranch
54.0%2x
53.8%2(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes3.0ms (0.1%)

Memory
11.5MiB live, 11.5MiB allocated
Counts
6 → 2
Calls
Call 1
Inputs
#s(literal 1 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
Outputs
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x))
#s(literal 1 binary64)
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
54.0%2x
Compiler

Compiled 1 to 1 computations (0% saved)

regimes5.0ms (0.1%)

Memory
-27.8MiB live, 10.9MiB allocated
Counts
5 → 2
Calls
Call 1
Inputs
#s(literal 1 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
#s(approx (/ (- 1 (cos x)) (sin x)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) x)))
Outputs
#s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64))))
#s(literal 1 binary64)
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
54.0%2x
Compiler

Compiled 1 to 1 computations (0% saved)

regimes2.0ms (0%)

Memory
8.5MiB live, 8.5MiB allocated
Counts
3 → 2
Calls
Call 1
Inputs
#s(literal 1 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
Outputs
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x))
#s(literal 1 binary64)
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
54.0%2x
Compiler

Compiled 1 to 1 computations (0% saved)

regimes2.0ms (0%)

Memory
7.2MiB live, 7.2MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
#s(literal 1 binary64)
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
Outputs
#s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64)))
#s(literal 1 binary64)
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
53.9%2x
Compiler

Compiled 1 to 1 computations (0% saved)

regimes3.0ms (0.1%)

Memory
11.5MiB live, 11.5MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal 1 binary64)
Outputs
#s(literal 1 binary64)
Calls

2 calls:

1.0ms
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
1.0ms
x
Results
AccuracySegmentsBranch
6.7%1(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (sin.f64 x))
6.7%1x
Compiler

Compiled 8 to 7 computations (12.5% saved)

bsearch20.0ms (0.4%)

Memory
-14.3MiB live, 26.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
19.0ms
1.2501490516133542
11.32371699071231
Samples
9.0ms96×0valid
Compiler

Compiled 130 to 100 computations (23.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-cos: 3.0ms (41.8% of total)
ival-sin: 3.0ms (41.8% of total)
ival-div: 1.0ms (13.9% of total)
ival-sub: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
2.5MiB live, 2.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.2501490516133542
11.32371699071231
Compiler

Compiled 100 to 88 computations (12% saved)

bsearch1.0ms (0%)

Memory
2.1MiB live, 2.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.2501490516133542
11.32371699071231
Compiler

Compiled 82 to 82 computations (0% saved)

bsearch1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.2501490516133542
11.32371699071231
Compiler

Compiled 70 to 76 computations (-8.6% saved)

bsearch1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.2501490516133542
11.32371699071231
Compiler

Compiled 40 to 58 computations (-45% saved)

simplify23.0ms (0.4%)

Memory
10.1MiB live, 47.9MiB allocated
Algorithm
egg-herbie
Rules
10×*-commutative-binary64-*.f64
1-exp-binary32-exp.f32
1-exp-binary64-exp.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037122
145122
Stop Event
saturated
Calls
Call 1
Inputs
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #s(literal 1 binary64))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #s(literal 1 binary64))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #s(literal 1 binary64))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #s(literal 1 binary64))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
(tan.f64 (*.f64 #s(literal 1/2 binary64) x))
(tan.f64 (*.f64 x #s(literal 1/2 binary64)))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/40320 binary64) (*.f64 x x) #s(literal 1/240 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #s(literal 1 binary64))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64)) x)) #s(literal 1 binary64))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x (*.f64 x #s(literal 1/2 binary64)))) #s(literal 1 binary64))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) x)) #s(literal 1 binary64))
(if (<=.f64 x #s(literal 6980579422424269/2251799813685248 binary64)) #s(approx (/ (- 1 (cos x)) (sin x)) (*.f64 x #s(literal 1/2 binary64))) #s(literal 1 binary64))
#s(literal 1 binary64)

soundness956.0ms (17.6%)

Memory
-36.3MiB live, 465.7MiB allocated
Rules
19 148×lower-fma.f64
19 148×lower-fma.f32
7 420×lower-fma.f32
7 418×lower-fma.f64
6 308×lower-fma.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01963
02751
110049
261849
3643949
0822047
0615
01012
13912
224512
3235511
0888511
027182
046170
1179170
21220170
08510170
079286
1224286
2555280
31661280
43000280
54254280
64606280
75336280
86824280
08376256
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
Compiler

Compiled 181 to 105 computations (42% saved)

preprocess107.0ms (2%)

Memory
-8.2MiB live, 67.9MiB allocated
Remove

(negabs x)

Compiler

Compiled 212 to 100 computations (52.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...