ENA, Section 1.4, Mentioned, A

Time bar (total: 9.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze3.0ms (0%)

Memory
3.7MiB live, 3.7MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%49.6%50.4%0%0%0%0
0%0%49.6%50.4%0%0%0%1
0%0%49.6%50.4%0%0%0%2
50%24.8%24.8%50.4%0%0%0%3
75%37.2%12.4%50.4%0%0%0%4
87.5%43.4%6.2%50.4%0%0%0%5
93.8%46.5%3.1%50.4%0%0%0%6
96.9%48.1%1.6%50.4%0%0%0%7
98.4%48.8%0.8%50.4%0%0%0%8
99.2%49.2%0.4%50.4%0%0%0%9
99.6%49.4%0.2%50.4%0%0%0%10
99.8%49.5%0.1%50.4%0%0%0%11
99.9%49.6%0%50.4%0%0%0%12
Compiler

Compiled 12 to 10 computations (16.7% saved)

sample3.1s (32.6%)

Memory
-80.9MiB live, 3 131.7MiB allocated
Samples
2.2s5 708×2valid
437.0ms2 475×1valid
5.0ms73×0valid
Precisions
Click to see histograms. Total time spent on operations: 2.3s
ival-cos: 1.4s (57.8% of total)
adjust: 289.0ms (12.3% of total)
const: 278.0ms (11.8% of total)
ival-sub: 275.0ms (11.7% of total)
ival-<=: 129.0ms (5.5% of total)
ival-and: 11.0ms (0.5% of total)
exact: 5.0ms (0.2% of total)
ival-assert: 4.0ms (0.2% of total)
Bogosity

explain137.0ms (1.4%)

Memory
-32.8MiB live, 164.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1341(2.682744773283621e-162)0-(-.f64 #s(literal 1 binary64) (cos.f64 x))
00-0-#s(literal 1 binary64)
00-0-(cos.f64 x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 #s(literal 1 binary64) (cos.f64 x))cancellation1350
Confusion
Predicted +Predicted -
+1340
-1121
Precision
0.9925925925925926
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+13400
-10121
Precision?
0.9925925925925926
Recall?
1.0
Freqs
test
numberfreq
0121
1135
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
83.0ms348×2valid
23.0ms162×1valid
0.0ms0valid
Compiler

Compiled 24 to 16 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 86.0ms
ival-cos: 68.0ms (79.5% of total)
adjust: 9.0ms (10.5% of total)
ival-sub: 7.0ms (8.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess14.0ms (0.2%)

Memory
6.0MiB live, 6.0MiB allocated
Algorithm
egg-herbie
Rules
24×lower-+.f64
24×lower-+.f32
20×sub-neg
18×lower--.f32
16×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
1168
2358
3558
4878
51018
61078
044
064
1104
2144
3194
4254
5334
6434
7544
8574
0574
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 #s(literal 1 binary64) (cos.f64 x))
Outputs
(-.f64 #s(literal 1 binary64) (cos.f64 x))
Symmetry

(abs x)

Compiler

Compiled 4 to 4 computations (0% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 4 to 4 computations (0% saved)

simplify5.0ms (0%)

Memory
2.5MiB live, 2.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 x)
cost-diff0
(-.f64 #s(literal 1 binary64) (cos.f64 x))
Rules
24×lower-+.f64
24×lower-+.f32
18×lower--.f32
16×sub-neg
16×lower--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048
068
1108
2148
3198
4258
5338
6438
7548
8578
0578
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(-.f64 #s(literal 1 binary64) (cos.f64 x))
#s(literal 1 binary64)
(cos.f64 x)
x
Outputs
(-.f64 #s(literal 1 binary64) (cos.f64 x))
#s(literal 1 binary64)
(cos.f64 x)
x

localize89.0ms (0.9%)

Memory
-6.2MiB live, 73.8MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(cos.f64 x)
accuracy31.042093126159422
(-.f64 #s(literal 1 binary64) (cos.f64 x))
Samples
65.0ms174×2valid
18.0ms81×1valid
0.0ms0valid
Compiler

Compiled 10 to 6 computations (40% saved)

Precisions
Click to see histograms. Total time spent on operations: 63.0ms
ival-cos: 53.0ms (83.8% of total)
adjust: 6.0ms (9.5% of total)
ival-sub: 4.0ms (6.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series1.0ms (0%)

Memory
2.9MiB live, 2.9MiB allocated
Counts
2 → 24
Calls
Call 1
Inputs
#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>) () ())
Outputs
#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 (- 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 (- 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>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
((- 1 (cos x)) (cos x))
0.0ms
x
@inf
((- 1 (cos x)) (cos x))
0.0ms
x
@-inf
((- 1 (cos x)) (cos x))

simplify526.0ms (5.5%)

Memory
4.3MiB live, 225.5MiB allocated
Algorithm
egg-herbie
Rules
32 720×lower-fma.f64
32 720×lower-fma.f32
3 926×lower-*.f64
3 926×lower-*.f32
3 120×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041144
1101144
2246144
3588144
41237144
51916144
62187144
72836144
84071144
95644144
106543144
116823144
126862144
136862144
147274144
157556144
167597144
177599144
187599144
197599144
207599144
217609144
227609144
237609144
08514132
Stop Event
iter limit
node limit
Counts
24 → 24
Calls
Call 1
Inputs
(* 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)))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(cos x)
(cos x)
(cos x)
(cos x)
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(cos x)
(cos x)
(cos x)
(cos x)
Outputs
(* 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 #s(literal 1/24 binary64) (*.f64 x x) #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 (pow.f64 x #s(literal 6 binary64)) #s(literal -1/720 binary64) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64)) (*.f64 x x) #s(literal 1 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)
(- 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)

rewrite203.0ms (2.1%)

Memory
-17.8MiB live, 345.5MiB allocated
Rules
4 830×lower-*.f64
4 830×lower-*.f32
4 620×lower-/.f64
4 620×lower-/.f32
3 866×lower-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046
066
1236
21426
311536
092406
Stop Event
iter limit
node limit
iter limit
Counts
2 → 314
Calls
Call 1
Inputs
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(cos.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>

eval38.0ms (0.4%)

Memory
37.7MiB live, 107.6MiB allocated
Compiler

Compiled 9 533 to 916 computations (90.4% saved)

prune9.0ms (0.1%)

Memory
1.1MiB live, 34.2MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3344338
Fresh000
Picked101
Done000
Total3354339
Accuracy
100.0%
Counts
339 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.2%
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
100.0%
(*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64))))
100.0%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
99.9%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
Compiler

Compiled 28 to 23 computations (17.9% saved)

simplify16.0ms (0.2%)

Memory
-19.2MiB live, 22.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (cos x) #s(literal 1 binary64))
cost-diff0
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
cost-diff0
(/.f64 x #s(literal 2 binary64))
cost-diff0
(tan.f64 (/.f64 x #s(literal 2 binary64)))
cost-diff0
(sin.f64 x)
cost-diff0
(*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64))))
cost-diff0
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
cost-diff0
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
cost-diff0
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
cost-diff0
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
cost-diff0
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
Rules
96×lower-*.f32
86×lower-*.f64
72×lower-fma.f32
70×lower-fma.f64
60×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02094
03194
14894
27094
310394
412694
514394
615994
717694
818094
018094
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(*.f64 x x)
x
#s(literal 1/2 binary64)
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
#s(literal -1/24 binary64)
(*.f64 x x)
x
#s(literal 1/2 binary64)
(*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64))))
(sin.f64 x)
x
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
#s(literal 1 binary64)
#s(approx (cos x) #s(literal 1 binary64))
Outputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
#s(approx (- 1 (cos x)) (*.f64 #s(literal 1/2 binary64) (*.f64 x x)))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 x x))
(*.f64 x x)
x
#s(literal 1/2 binary64)
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
#s(literal -1/24 binary64)
(*.f64 x x)
x
#s(literal 1/2 binary64)
(*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64))))
(*.f64 (tan.f64 (/.f64 x #s(literal 2 binary64))) (sin.f64 x))
(sin.f64 x)
x
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
#s(literal 1 binary64)
#s(approx (cos x) #s(literal 1 binary64))

localize116.0ms (1.2%)

Memory
42.6MiB live, 300.3MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.10356277706585662
#s(approx (cos x) #s(literal 1 binary64))
accuracy31.042093126159422
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
accuracy0
(/.f64 x #s(literal 2 binary64))
accuracy0
(*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64))))
accuracy0
(tan.f64 (/.f64 x #s(literal 2 binary64)))
accuracy0
(sin.f64 x)
accuracy0
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
accuracy0
(*.f64 x x)
accuracy0
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
accuracy0.00390625
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
accuracy0
(*.f64 x x)
accuracy0.00390625
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
accuracy0.07770303314335703
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
Samples
73.0ms174×2valid
27.0ms81×1valid
0.0ms0valid
Compiler

Compiled 78 to 19 computations (75.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 77.0ms
ival-cos: 29.0ms (37.9% of total)
ival-mult: 17.0ms (22.2% of total)
adjust: 13.0ms (17% of total)
ival-div: 5.0ms (6.5% of total)
ival-sub: 4.0ms (5.2% of total)
const: 4.0ms (5.2% of total)
ival-sin: 2.0ms (2.6% of total)
ival-tan: 2.0ms (2.6% of total)
ival-add: 1.0ms (1.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series108.0ms (1.1%)

Memory
-22.6MiB live, 74.3MiB allocated
Counts
13 → 156
Calls
Call 1
Inputs
#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #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)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<representation binary64>) () ())
#s(alt (sin.f64 x) (patch (sin.f64 x) #<representation binary64>) () ())
#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())
#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* (pow x 2) (- (* 1/720 (pow x 2)) 1/24)))) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<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 #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #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 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) 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 #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) 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 #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<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 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<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 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<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/2 x) (taylor 0 x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* 1/24 (pow x 2)))) (taylor 0 x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<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 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 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 (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<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) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<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) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1/2 (pow x 2))) (taylor 0 x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2))) (taylor 0 x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<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 #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #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)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 3)) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x))) (taylor inf x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x))) (taylor inf x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x))) (taylor inf x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x))) (taylor inf x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<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 (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor inf x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor inf x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor inf x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor inf x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #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)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 3)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) (patch (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) (patch (*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64)))) #<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 (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (sin (* 1/2 x)) (cos (* 1/2 x))) (taylor -inf x) (#s(alt (tan.f64 (/.f64 x #s(literal 2 binary64))) (patch (tan.f64 (/.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) (patch (-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify161.0ms (1.7%)

Memory
1.8MiB live, 276.4MiB allocated
Algorithm
egg-herbie
Rules
15 162×lower-fma.f64
15 162×lower-fma.f32
4 386×lower-*.f64
4 386×lower-*.f32
2 218×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01001068
12681062
26761062
320861062
441521062
563951062
08204993
Stop Event
iter limit
node limit
Counts
156 → 155
Calls
Call 1
Inputs
(* 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/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(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/2 (pow x 2))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(* (pow x 2) (+ 1/2 (* -1/24 (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)))
(* 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))))
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/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 (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)))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* -1/24 (pow x 4))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/24 (pow x 3))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/24 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(sin x)
(sin x)
(sin x)
(sin 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)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(cos x)
(cos x)
(cos x)
(cos x)
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* -1/24 (pow x 4))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/24 (pow x 3))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(* -1/24 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(sin x)
(sin x)
(sin x)
(sin 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)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(cos x)
(cos x)
(cos x)
(cos x)
Outputs
(* 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/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #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 (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/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 (* -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 (* -1/24 (pow x 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* -1/24 (pow x 2))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* -1/24 (pow x 2))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* -1/24 (pow x 2))))
(*.f64 (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* -1/24 (pow x 2)))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* -1/24 (pow x 2)))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* 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)
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/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/24 (pow x 2))))
(*.f64 (fma.f64 #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)
(* 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 (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 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64)) 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))
(- 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))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #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))
(-.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))
(* -1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/24 binary64))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* -1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/24 binary64))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1/24 (pow x 2))
(*.f64 #s(literal -1/24 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 (*.f64 #s(literal -1/2 binary64) x))) (sin.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 (*.f64 #s(literal -1/2 binary64) x))) (sin.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 (*.f64 #s(literal -1/2 binary64) x))) (sin.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 (*.f64 #s(literal -1/2 binary64) x))) (sin.f64 (*.f64 x #s(literal 1/2 binary64))))
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 #s(literal -1/2 binary64) x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 #s(literal -1/2 binary64) x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 #s(literal -1/2 binary64) x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 #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 (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)
(- 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))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #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))
(-.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))
(* -1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/24 binary64))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* -1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/24 binary64))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1/24 (pow x 2))
(*.f64 #s(literal -1/24 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 (*.f64 #s(literal -1/2 binary64) x))) (sin.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 (*.f64 #s(literal -1/2 binary64) x))) (sin.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 (*.f64 #s(literal -1/2 binary64) x))) (sin.f64 (*.f64 x #s(literal 1/2 binary64))))
(/ (* (sin x) (sin (* 1/2 x))) (cos (* 1/2 x)))
(*.f64 (/.f64 (sin.f64 x) (cos.f64 (*.f64 #s(literal -1/2 binary64) x))) (sin.f64 (*.f64 x #s(literal 1/2 binary64))))
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(sin x)
(sin.f64 x)
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 #s(literal -1/2 binary64) x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 #s(literal -1/2 binary64) x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 #s(literal -1/2 binary64) x)))
(/ (sin (* 1/2 x)) (cos (* 1/2 x)))
(/.f64 (sin.f64 (*.f64 x #s(literal 1/2 binary64))) (cos.f64 (*.f64 #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 (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)

rewrite275.0ms (2.9%)

Memory
12.8MiB live, 236.5MiB allocated
Rules
7 024×lower-*.f32
7 014×lower-*.f64
6 686×lower-fma.f32
6 684×lower-fma.f64
3 478×lower-/.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02083
03183
19683
251383
3399380
01184480
Stop Event
iter limit
node limit
iter limit
Counts
13 → 497
Calls
Call 1
Inputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(*.f64 x x)
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64))))
(sin.f64 x)
(tan.f64 (/.f64 x #s(literal 2 binary64)))
(/.f64 x #s(literal 2 binary64))
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (cos x) #s(literal 1 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>

eval153.0ms (1.6%)

Memory
-29.0MiB live, 189.3MiB allocated
Compiler

Compiled 10 978 to 1 740 computations (84.2% saved)

prune50.0ms (0.5%)

Memory
0.5MiB live, 53.0MiB allocated
Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New6713674
Fresh000
Picked224
Done000
Total6735678
Accuracy
100.0%
Counts
678 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.2%
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
4.1%
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
100.0%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
100.0%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
99.9%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
Compiler

Compiled 56 to 40 computations (28.6% saved)

simplify175.0ms (1.8%)

Memory
7.8MiB live, 195.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (cos x) #s(literal 1 binary64))
cost-diff0
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
cost-diff0
(*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
cost-diff0
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
cost-diff128
(neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
cost-diff1408
(*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x)
cost-diff0
#s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64))
cost-diff0
(*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x)
cost-diff0
(*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)
cost-diff0
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
Rules
16 180×lower-fma.f32
16 174×lower-fma.f64
2 468×lower-*.f32
2 456×lower-*.f64
1 188×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030235
046230
186230
2143230
3320226
4898197
52518197
64590197
76099197
86660197
96810197
106875197
117098197
08025189
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
(*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)
(*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x)
#s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
x
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
(*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
(*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x)
(fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))))
(*.f64 x x)
x
(/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
#s(literal 1/576 binary64)
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))
#s(literal -1/24 binary64)
#s(literal -1/2 binary64)
(neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
(/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))
#s(literal -1/4 binary64)
(fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (cos x) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
(*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)
(*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x)
#s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
x
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/576 binary64) #s(literal -1/4 binary64)) x) (/.f64 x (fma.f64 (*.f64 x x) #s(literal -1/24 binary64) #s(literal -1/2 binary64)))))
(*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
(*.f64 (*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/576 binary64) #s(literal -1/4 binary64)) x) (/.f64 x (fma.f64 (*.f64 x x) #s(literal -1/24 binary64) #s(literal -1/2 binary64))))
(*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x)
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/576 binary64) #s(literal -1/4 binary64)) (/.f64 x (fma.f64 (*.f64 x x) #s(literal -1/24 binary64) #s(literal -1/2 binary64))))
(fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))))
(fma.f64 (/.f64 #s(literal -1/576 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (pow.f64 x #s(literal 4 binary64)) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
(*.f64 x x)
x
(/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal -1/576 binary64) x) (/.f64 x (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
#s(literal 1/576 binary64)
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 x x) #s(literal -1/24 binary64) #s(literal -1/2 binary64))
#s(literal -1/24 binary64)
#s(literal -1/2 binary64)
(neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
(/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))
(/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))
(/.f64 #s(literal 1/4 binary64) (fma.f64 (*.f64 x x) #s(literal -1/24 binary64) #s(literal -1/2 binary64)))
#s(literal -1/4 binary64)
(fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (cos x) #s(literal 1 binary64))
#s(literal 1 binary64)

localize277.0ms (2.9%)

Memory
-37.0MiB live, 428.8MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
accuracy0.10356277706585662
#s(approx (cos x) #s(literal 1 binary64))
accuracy0.00390625
(*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
accuracy0.0078125
(/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))
accuracy0.015625
(/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
accuracy0.19207001953688402
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
accuracy0
(*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x)
accuracy0
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
accuracy0.00390625
(*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)
accuracy0.0837733937827108
#s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64))
Samples
188.0ms174×2valid
59.0ms81×1valid
0.0ms0valid
Compiler

Compiled 197 to 29 computations (85.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 168.0ms
ival-mult: 37.0ms (22.1% of total)
ival-cos: 36.0ms (21.5% of total)
adjust: 30.0ms (17.9% of total)
ival-sub: 28.0ms (16.7% of total)
ival-add: 13.0ms (7.8% of total)
const: 12.0ms (7.2% of total)
ival-div: 7.0ms (4.2% of total)
ival-neg: 3.0ms (1.8% of total)
exact: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series14.0ms (0.1%)

Memory
32.0MiB live, 32.0MiB allocated
Counts
13 → 156
Calls
Call 1
Inputs
#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())
#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())
#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) #<representation binary64>) () ())
#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())
#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())
#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())
Outputs
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) 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 #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) 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 #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt 1/2 (taylor 0 x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* -1/24 (pow x 2))) (taylor 0 x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* -1/24 (pow x 2))) (taylor 0 x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* -1/24 (pow x 2))) (taylor 0 x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #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 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #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 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #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 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #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 (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #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 (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* (pow x 2) (- (* 1/288 (pow x 2)) 1/24))) (taylor 0 x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/288 (* -1/3456 (pow x 2)))) 1/24))) (taylor 0 x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) 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 #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) 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 #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt 2 (taylor 0 x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 2 (* -1/2 (pow x 2))) (taylor 0 x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 2 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2))) (taylor 0 x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 2 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2))) (taylor 0 x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1/2 (pow x 2))) (taylor 0 x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2))) (taylor 0 x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<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 #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288)) (taylor 0 x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* -1/41472 (pow x 2)))) 1/288)) (taylor 0 x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* (pow x 2) (- (* 1/497664 (pow x 2)) 1/41472)))) 1/288)) (taylor 0 x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt -1/2 (taylor 0 x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/24 (pow x 2)) 1/2) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1/24 (* -1/288 (pow x 2)))) 1/2) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1/24 (* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288)))) 1/2) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 3)) (taylor inf x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 2)) (taylor inf x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 3)) (taylor inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) #<representation binary64>) () ())) ())
#s(alt (/ 6 (pow x 2)) (taylor inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2)) (taylor inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2)) (taylor inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2)) (taylor inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor inf x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor inf x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor inf x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor inf x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt -1/24 (taylor inf x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/2 (/ 1 (pow x 2))) 1/24) (taylor inf x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4)))) (taylor inf x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4)))) (taylor inf x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ -6 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) (patch (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 3)) (taylor -inf x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) (patch (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) (patch #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 3)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) (patch (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) #<representation binary64>) () ())) ())
#s(alt (/ 6 (pow x 2)) (taylor -inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2)) (taylor -inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2)) (taylor -inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2)) (taylor -inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor -inf x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor -inf x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor -inf x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor -inf x) (#s(alt (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (cos x) (taylor -inf x) (#s(alt #s(approx (cos x) #s(literal 1 binary64)) (patch #s(approx (cos x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 1/576 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt -1/24 (taylor -inf x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/2 (/ 1 (pow x 2))) 1/24) (taylor -inf x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4)))) (taylor -inf x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4)))) (taylor -inf x) (#s(alt (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (patch (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ -6 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
3.0ms
x
@0
((- 1 (cos x)) (* (* (+ (* -1/24 (* x x)) 1/2) x) x) (* (+ (* -1/24 (* x x)) 1/2) x) (+ (* -1/24 (* x x)) 1/2) (* (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) x) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2))) (- 1 (cos x)) (* (* (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) x) x) (+ (cos x) 1) (cos x) (* 1/576 (* x x)) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))
3.0ms
x
@inf
((- 1 (cos x)) (* (* (+ (* -1/24 (* x x)) 1/2) x) x) (* (+ (* -1/24 (* x x)) 1/2) x) (+ (* -1/24 (* x x)) 1/2) (* (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) x) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2))) (- 1 (cos x)) (* (* (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) x) x) (+ (cos x) 1) (cos x) (* 1/576 (* x x)) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))
2.0ms
x
@-inf
((- 1 (cos x)) (* (* (+ (* -1/24 (* x x)) 1/2) x) x) (* (+ (* -1/24 (* x x)) 1/2) x) (+ (* -1/24 (* x x)) 1/2) (* (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) x) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2))) (- 1 (cos x)) (* (* (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) x) x) (+ (cos x) 1) (cos x) (* 1/576 (* x x)) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))

simplify182.0ms (1.9%)

Memory
-3.2MiB live, 222.3MiB allocated
Algorithm
egg-herbie
Rules
16 444×lower-fma.f64
16 444×lower-fma.f32
4 016×lower-+.f64
4 016×lower-+.f32
3 930×lower-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01361294
13411294
28911294
322631294
450031294
083561219
Stop Event
iter limit
node limit
Counts
156 → 156
Calls
Call 1
Inputs
(* 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/2 (pow x 2))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(* (pow x 2) (+ 1/2 (* -1/24 (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)))
(* 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 (* (pow x 2) (- (* 1/288 (pow x 2)) 1/24)))
(+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/288 (* -1/3456 (pow x 2)))) 1/24)))
(* 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/2 (pow x 2))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
2
(+ 2 (* -1/2 (pow x 2)))
(+ 2 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(+ 2 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
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)))
(* 1/576 (pow x 2))
(* 1/576 (pow x 2))
(* 1/576 (pow x 2))
(* 1/576 (pow x 2))
(* -1/288 (pow x 2))
(* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288))
(* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* -1/41472 (pow x 2)))) 1/288))
(* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* (pow x 2) (- (* 1/497664 (pow x 2)) 1/41472)))) 1/288))
-1/2
(- (* 1/24 (pow x 2)) 1/2)
(- (* (pow x 2) (+ 1/24 (* -1/288 (pow x 2)))) 1/2)
(- (* (pow x 2) (+ 1/24 (* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288)))) 1/2)
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* -1/24 (pow x 4))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/24 (pow x 3))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/24 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/24 (pow x 3))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(/ 6 (pow x 2))
(/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* -1/24 (pow x 4))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(+ 1 (cos x))
(+ 1 (cos x))
(+ 1 (cos x))
(+ 1 (cos x))
(cos x)
(cos x)
(cos x)
(cos x)
(* 1/576 (pow x 2))
(* 1/576 (pow x 2))
(* 1/576 (pow x 2))
(* 1/576 (pow x 2))
-1/24
(- (* 1/2 (/ 1 (pow x 2))) 1/24)
(- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4))))
(- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4))))
(/ -6 (pow x 2))
(/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2))
(/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* -1/24 (pow x 4))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/24 (pow x 3))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(* -1/24 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/24 (pow x 3))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(/ 6 (pow x 2))
(/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* -1/24 (pow x 4))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(+ 1 (cos x))
(+ 1 (cos x))
(+ 1 (cos x))
(+ 1 (cos x))
(cos x)
(cos x)
(cos x)
(cos x)
(* 1/576 (pow x 2))
(* 1/576 (pow x 2))
(* 1/576 (pow x 2))
(* 1/576 (pow x 2))
-1/24
(- (* 1/2 (/ 1 (pow x 2))) 1/24)
(- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4))))
(- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4))))
(/ -6 (pow x 2))
(/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2))
(/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
Outputs
(* 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/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 (* -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 (* -1/24 (pow x 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (* -1/24 (pow x 2))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* -1/24 (pow x 2))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* -1/24 (pow x 2))))
(*.f64 (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* -1/24 (pow x 2)))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* -1/24 (pow x 2)))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x 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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* -1/24 (pow x 2))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* x (+ 1/2 (* -1/24 (pow x 2))))
(*.f64 (fma.f64 #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 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* (pow x 2) (- (* 1/288 (pow x 2)) 1/24)))
(fma.f64 (fma.f64 #s(literal 1/288 binary64) (*.f64 x x) #s(literal -1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/288 (* -1/3456 (pow x 2)))) 1/24)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/3456 binary64) (*.f64 x x) #s(literal 1/288 binary64)) (*.f64 x x) #s(literal -1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(* 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/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 (* -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 (* -1/24 (pow x 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
2
#s(literal 2 binary64)
(+ 2 (* -1/2 (pow x 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 2 binary64))
(+ 2 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64)) (*.f64 x x) #s(literal 2 binary64))
(+ 2 (* (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 2 binary64))
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 #s(literal 1/24 binary64) (*.f64 x x) #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))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288))
(*.f64 (*.f64 (fma.f64 #s(literal 1/3456 binary64) (*.f64 x x) #s(literal -1/288 binary64)) x) x)
(* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* -1/41472 (pow x 2)))) 1/288))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/41472 binary64) (*.f64 x x) #s(literal 1/3456 binary64)) (*.f64 x x) #s(literal -1/288 binary64)) x) x)
(* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* (pow x 2) (- (* 1/497664 (pow x 2)) 1/41472)))) 1/288))
(*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/497664 binary64) (*.f64 x x) #s(literal -1/41472 binary64)) (*.f64 x x) #s(literal 1/3456 binary64)) (*.f64 x x) #s(literal -1/288 binary64)) x) x)
-1/2
#s(literal -1/2 binary64)
(- (* 1/24 (pow x 2)) 1/2)
(fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))
(- (* (pow x 2) (+ 1/24 (* -1/288 (pow x 2)))) 1/2)
(fma.f64 (fma.f64 #s(literal -1/288 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal -1/2 binary64))
(- (* (pow x 2) (+ 1/24 (* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288)))) 1/2)
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/3456 binary64) (*.f64 x x) #s(literal -1/288 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x 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))
(* -1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/24 binary64))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* -1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/24 binary64))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1/24 (pow x 2))
(*.f64 #s(literal -1/24 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* -1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/24 binary64))
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* (pow x 3) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(/ 6 (pow x 2))
(/.f64 #s(literal 6 binary64) (*.f64 x x))
(/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/.f64 (/.f64 (-.f64 #s(literal 6 binary64) (/.f64 #s(literal 72 binary64) (*.f64 x x))) x) x)
(/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/.f64 (-.f64 (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (*.f64 x x))
(/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2))
(/.f64 (-.f64 (-.f64 (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (/.f64 #s(literal 10368 binary64) (pow.f64 x #s(literal 6 binary64)))) (*.f64 x 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))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(* -1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/24 binary64))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
-1/24
#s(literal -1/24 binary64)
(- (* 1/2 (/ 1 (pow x 2))) 1/24)
(-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64))
(- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4))))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)) (/.f64 #s(literal 6 binary64) (pow.f64 x #s(literal 4 binary64))))
(- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4))))
(-.f64 (-.f64 (/.f64 #s(literal -6 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal -1/2 binary64) (*.f64 x x))) (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 72 binary64) (pow.f64 x #s(literal 6 binary64)))))
(/ -6 (pow x 2))
(/.f64 #s(literal -6 binary64) (*.f64 x x))
(/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) x) x)
(/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 x x))
(/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal -10368 binary64) (pow.f64 x #s(literal 6 binary64)))) (*.f64 x 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))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(* -1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/24 binary64))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* -1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/24 binary64))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1/24 (pow x 2))
(*.f64 #s(literal -1/24 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* -1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/24 binary64))
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(* -1 (* (pow x 3) (- 1/24 (* 1/2 (/ 1 (pow x 2))))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x)
(/ 6 (pow x 2))
(/.f64 #s(literal 6 binary64) (*.f64 x x))
(/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/.f64 (/.f64 (-.f64 #s(literal 6 binary64) (/.f64 #s(literal 72 binary64) (*.f64 x x))) x) x)
(/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/.f64 (-.f64 (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (*.f64 x x))
(/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2))
(/.f64 (-.f64 (-.f64 (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (/.f64 #s(literal 10368 binary64) (pow.f64 x #s(literal 6 binary64)))) (*.f64 x 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))
(- 1 (cos x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(* -1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/24 binary64))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(cos x)
(cos.f64 x)
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(* 1/576 (pow x 2))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
-1/24
#s(literal -1/24 binary64)
(- (* 1/2 (/ 1 (pow x 2))) 1/24)
(-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64))
(- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4))))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)) (/.f64 #s(literal 6 binary64) (pow.f64 x #s(literal 4 binary64))))
(- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4))))
(-.f64 (-.f64 (/.f64 #s(literal -6 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal -1/2 binary64) (*.f64 x x))) (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 72 binary64) (pow.f64 x #s(literal 6 binary64)))))
(/ -6 (pow x 2))
(/.f64 #s(literal -6 binary64) (*.f64 x x))
(/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) x) x)
(/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 x x))
(/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal -10368 binary64) (pow.f64 x #s(literal 6 binary64)))) (*.f64 x x))

rewrite302.0ms (3.2%)

Memory
28.3MiB live, 183.6MiB allocated
Rules
9 246×lower-fma.f32
9 240×lower-fma.f64
4 096×lower-/.f32
4 092×lower-/.f64
3 774×lower-*.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030185
046181
1168178
21225130
09277123
Stop Event
iter limit
node limit
iter limit
Counts
13 → 198
Calls
Call 1
Inputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
(*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x)
(*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x)
#s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64))
(*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x)
(neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
(*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (cos x) #s(literal 1 binary64))
(*.f64 #s(literal 1/576 binary64) (*.f64 x x))
(/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x 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>

eval119.0ms (1.3%)

Memory
-5.9MiB live, 32.8MiB allocated
Compiler

Compiled 9 504 to 1 257 computations (86.8% saved)

prune70.0ms (0.7%)

Memory
-29.0MiB live, 37.3MiB allocated
Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New3522354
Fresh000
Picked213
Done022
Total3545359
Accuracy
100.0%
Counts
359 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.2%
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
100.0%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
100.0%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
99.9%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
4.1%
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
Compiler

Compiled 48 to 36 computations (25% saved)

simplify149.0ms (1.6%)

Memory
-11.1MiB live, 27.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))))
cost-diff0
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
cost-diff128
(neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
cost-diff6144
(*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
cost-diff0
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
Rules
1 708×lower-fma.f32
1 704×lower-fma.f64
1 272×lower-*.f32
1 264×lower-*.f64
944×unsub-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
029205
040200
177200
2123200
3245195
4474195
5777195
61172195
71868195
82589195
92919195
103047195
113065195
123069195
133217195
143281195
153291195
163449195
174081195
184081195
194081195
04081195
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
(*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
(*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x)
(fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))))
(*.f64 x x)
x
#s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x)))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
#s(literal -1/288 binary64)
(neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
(/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))
#s(literal -1/4 binary64)
(fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
Outputs
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
#s(approx (- 1 (cos x)) (*.f64 (fma.f64 #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (*.f64 x x) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (*.f64 x x)))
(*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
(*.f64 (fma.f64 #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (*.f64 x x) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (*.f64 x x))
(*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (*.f64 (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) x))
(fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))))
(fma.f64 #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (*.f64 x x) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
(*.f64 x x)
x
#s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x)))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
#s(literal -1/288 binary64)
(neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
(/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))
(/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))
(/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
#s(literal -1/4 binary64)
(fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)

localize173.0ms (1.8%)

Memory
6.8MiB live, 82.4MiB allocated
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
accuracy0.0078125
(/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))
accuracy0.0804551281885406
#s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x)))
accuracy0.19207001953688402
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
accuracy0.09583377183457051
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
Samples
111.0ms174×2valid
45.0ms81×1valid
0.0ms0valid
Compiler

Compiled 153 to 29 computations (81% saved)

Precisions
Click to see histograms. Total time spent on operations: 135.0ms
ival-cos: 48.0ms (35.4% of total)
ival-sub: 23.0ms (17% of total)
adjust: 21.0ms (15.5% of total)
ival-mult: 15.0ms (11.1% of total)
const: 12.0ms (8.9% of total)
ival-add: 9.0ms (6.6% of total)
ival-div: 5.0ms (3.7% of total)
ival-neg: 2.0ms (1.5% of total)
exact: 1.0ms (0.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series8.0ms (0.1%)

Memory
4.7MiB live, 4.7MiB allocated
Counts
8 → 96
Calls
Call 1
Inputs
#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())
#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())
#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())
#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())
Outputs
#s(alt 2 (taylor 0 x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 2 (* -1/2 (pow x 2))) (taylor 0 x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 2 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2))) (taylor 0 x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 2 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2))) (taylor 0 x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt 1/2 (taylor 0 x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #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 (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* (pow x 2) (- (* 1/288 (pow x 2)) 1/24))) (taylor 0 x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/288 (* -1/3456 (pow x 2)))) 1/24))) (taylor 0 x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1/24 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) 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 #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) 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 #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt 1/2 (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #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 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #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 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #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 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288)) (taylor 0 x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* -1/41472 (pow x 2)))) 1/288)) (taylor 0 x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* (pow x 2) (- (* 1/497664 (pow x 2)) 1/41472)))) 1/288)) (taylor 0 x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt -1/2 (taylor 0 x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/24 (pow x 2)) 1/2) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1/24 (* -1/288 (pow x 2)))) 1/2) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1/24 (* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288)))) 1/2) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor inf x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor inf x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor inf x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor inf x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 6 (pow x 2)) (taylor inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2)) (taylor inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2)) (taylor inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2)) (taylor inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt -1/24 (taylor inf x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/2 (/ 1 (pow x 2))) 1/24) (taylor inf x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4)))) (taylor inf x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4)))) (taylor inf x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (/ -6 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (+ (cos x) 1) #s(literal 2 binary64)) (patch #s(approx (+ (cos x) 1) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) (patch (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 6 (pow x 2)) (taylor -inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2)) (taylor -inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2)) (taylor -inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2)) (taylor -inf x) (#s(alt (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (patch (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (- 1 (cos x)) (taylor -inf x) (#s(alt #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) (patch #s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1/24 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) (patch (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1/288 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) (patch (*.f64 #s(literal -1/288 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt -1/24 (taylor -inf x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/2 (/ 1 (pow x 2))) 1/24) (taylor -inf x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4)))) (taylor -inf x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4)))) (taylor -inf x) (#s(alt #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (patch #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (/ -6 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) (patch (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((+ (cos x) 1) (* (* (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) x) x) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2))) (- 1 (cos x)) (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) (* -1/288 (* x x)) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))
1.0ms
x
@-inf
((+ (cos x) 1) (* (* (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) x) x) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2))) (- 1 (cos x)) (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) (* -1/288 (* x x)) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))
1.0ms
x
@0
((+ (cos x) 1) (* (* (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) x) x) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2))) (- 1 (cos x)) (+ (* (* x x) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2))) (neg (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))) (* -1/288 (* x x)) (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (/ -1/4 (+ (* 1/24 (* x x)) 1/2)))

simplify220.0ms (2.3%)

Memory
7.3MiB live, 84.2MiB allocated
Algorithm
egg-herbie
Rules
14 332×lower-fma.f64
14 332×lower-fma.f32
4 006×lower-+.f64
4 006×lower-+.f32
3 096×lower-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0121848
1302848
2791848
31935848
44364848
57550848
08182800
Stop Event
iter limit
node limit
Counts
96 → 96
Calls
Call 1
Inputs
2
(+ 2 (* -1/2 (pow x 2)))
(+ 2 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(+ 2 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
(* (pow x 2) (+ 1/2 (* -1/24 (pow x 2))))
1/2
(+ 1/2 (* -1/24 (pow x 2)))
(+ 1/2 (* (pow x 2) (- (* 1/288 (pow x 2)) 1/24)))
(+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/288 (* -1/3456 (pow x 2)))) 1/24)))
(* 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/2
(+ 1/2 (* -1/24 (pow x 2)))
(+ 1/2 (* -1/24 (pow x 2)))
(+ 1/2 (* -1/24 (pow x 2)))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
(* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288))
(* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* -1/41472 (pow x 2)))) 1/288))
(* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* (pow x 2) (- (* 1/497664 (pow x 2)) 1/41472)))) 1/288))
-1/2
(- (* 1/24 (pow x 2)) 1/2)
(- (* (pow x 2) (+ 1/24 (* -1/288 (pow x 2)))) 1/2)
(- (* (pow x 2) (+ 1/24 (* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288)))) 1/2)
(+ 1 (cos x))
(+ 1 (cos x))
(+ 1 (cos x))
(+ 1 (cos x))
(* -1/24 (pow x 4))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(/ 6 (pow x 2))
(/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* -1/24 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
-1/24
(- (* 1/2 (/ 1 (pow x 2))) 1/24)
(- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4))))
(- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4))))
(/ -6 (pow x 2))
(/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2))
(/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(+ 1 (cos x))
(+ 1 (cos x))
(+ 1 (cos x))
(+ 1 (cos x))
(* -1/24 (pow x 4))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(/ 6 (pow x 2))
(/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(- 1 (cos x))
(* -1/24 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
(* -1/288 (pow x 2))
-1/24
(- (* 1/2 (/ 1 (pow x 2))) 1/24)
(- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4))))
(- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4))))
(/ -6 (pow x 2))
(/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2))
(/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
Outputs
2
#s(literal 2 binary64)
(+ 2 (* -1/2 (pow x 2)))
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 2 binary64))
(+ 2 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64)) (*.f64 x x) #s(literal 2 binary64))
(+ 2 (* (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 2 binary64))
(* 1/2 (pow x 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 x x))
(* (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 (* -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 (* -1/24 (pow x 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/24 (pow x 2)))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* (pow x 2) (- (* 1/288 (pow x 2)) 1/24)))
(fma.f64 (fma.f64 #s(literal 1/288 binary64) (*.f64 x x) #s(literal -1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/288 (* -1/3456 (pow x 2)))) 1/24)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/3456 binary64) (*.f64 x x) #s(literal 1/288 binary64)) (*.f64 x x) #s(literal -1/24 binary64)) (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 x x))
(* (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 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 x x) #s(literal -1/24 binary64)) x (/.f64 #s(literal 1/2 binary64) x)))
(* (pow x 2) (+ 1/2 (* (pow x 2) (- (* (pow x 2) (+ 1/720 (* -1/40320 (pow x 2)))) 1/24))))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (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)) x (/.f64 #s(literal 1/2 binary64) x)))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/24 (pow x 2)))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* -1/24 (pow x 2)))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* -1/24 (pow x 2)))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288))
(*.f64 (*.f64 (fma.f64 #s(literal 1/3456 binary64) (*.f64 x x) #s(literal -1/288 binary64)) x) x)
(* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* -1/41472 (pow x 2)))) 1/288))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/41472 binary64) (*.f64 x x) #s(literal 1/3456 binary64)) (*.f64 x x) #s(literal -1/288 binary64)) x) x)
(* (pow x 2) (- (* (pow x 2) (+ 1/3456 (* (pow x 2) (- (* 1/497664 (pow x 2)) 1/41472)))) 1/288))
(*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/497664 binary64) (*.f64 x x) #s(literal -1/41472 binary64)) (*.f64 x x) #s(literal 1/3456 binary64)) (*.f64 x x) #s(literal -1/288 binary64)) x) x)
-1/2
#s(literal -1/2 binary64)
(- (* 1/24 (pow x 2)) 1/2)
(fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))
(- (* (pow x 2) (+ 1/24 (* -1/288 (pow x 2)))) 1/2)
(fma.f64 (fma.f64 #s(literal -1/288 binary64) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal -1/2 binary64))
(- (* (pow x 2) (+ 1/24 (* (pow x 2) (- (* 1/3456 (pow x 2)) 1/288)))) 1/2)
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/3456 binary64) (*.f64 x x) #s(literal -1/288 binary64)) (*.f64 x x) #s(literal 1/24 binary64)) (*.f64 x x) #s(literal -1/2 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(* -1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/24 binary64))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(/ 6 (pow x 2))
(/.f64 #s(literal 6 binary64) (*.f64 x x))
(/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/.f64 (/.f64 (-.f64 #s(literal 6 binary64) (/.f64 #s(literal 72 binary64) (*.f64 x x))) x) x)
(/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/.f64 (-.f64 (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (*.f64 x x))
(/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2))
(-.f64 (/.f64 (-.f64 (/.f64 #s(literal -10368 binary64) (pow.f64 x #s(literal 6 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (*.f64 x x)) (/.f64 #s(literal -864 binary64) (pow.f64 x #s(literal 6 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))
(* -1/24 (pow x 2))
(*.f64 #s(literal -1/24 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
-1/24
#s(literal -1/24 binary64)
(- (* 1/2 (/ 1 (pow x 2))) 1/24)
(-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64))
(- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4))))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)) (/.f64 #s(literal 6 binary64) (pow.f64 x #s(literal 4 binary64))))
(- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4))))
(-.f64 (-.f64 (+.f64 (/.f64 #s(literal 72 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/2 binary64) (*.f64 x x))) (/.f64 #s(literal 6 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1/24 binary64))
(/ -6 (pow x 2))
(/.f64 #s(literal -6 binary64) (*.f64 x x))
(/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) x) x)
(/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 x x))
(/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(-.f64 (/.f64 #s(literal -864 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 (-.f64 (/.f64 #s(literal -10368 binary64) (pow.f64 x #s(literal 6 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (*.f64 x x)))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(+ 1 (cos x))
(+.f64 (cos.f64 x) #s(literal 1 binary64))
(* -1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/24 binary64))
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(* (pow x 4) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x)
(/ 6 (pow x 2))
(/.f64 #s(literal 6 binary64) (*.f64 x x))
(/ (- 6 (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/.f64 (/.f64 (-.f64 #s(literal 6 binary64) (/.f64 #s(literal 72 binary64) (*.f64 x x))) x) x)
(/ (- (+ 6 (/ 864 (pow x 4))) (* 72 (/ 1 (pow x 2)))) (pow x 2))
(/.f64 (-.f64 (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (*.f64 x x))
(/ (- (+ 6 (/ 864 (pow x 4))) (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6))))) (pow x 2))
(-.f64 (/.f64 (-.f64 (/.f64 #s(literal -10368 binary64) (pow.f64 x #s(literal 6 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (*.f64 x x)) (/.f64 #s(literal -864 binary64) (pow.f64 x #s(literal 6 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))
(* -1/24 (pow x 2))
(*.f64 #s(literal -1/24 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/24))
(fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
(* -1/288 (pow x 2))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
-1/24
#s(literal -1/24 binary64)
(- (* 1/2 (/ 1 (pow x 2))) 1/24)
(-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64))
(- (* 1/2 (/ 1 (pow x 2))) (+ 1/24 (/ 6 (pow x 4))))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/24 binary64)) (/.f64 #s(literal 6 binary64) (pow.f64 x #s(literal 4 binary64))))
(- (+ (* 1/2 (/ 1 (pow x 2))) (* 72 (/ 1 (pow x 6)))) (+ 1/24 (/ 6 (pow x 4))))
(-.f64 (-.f64 (+.f64 (/.f64 #s(literal 72 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/2 binary64) (*.f64 x x))) (/.f64 #s(literal 6 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1/24 binary64))
(/ -6 (pow x 2))
(/.f64 #s(literal -6 binary64) (*.f64 x x))
(/ (- (* 72 (/ 1 (pow x 2))) 6) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) x) x)
(/ (- (* 72 (/ 1 (pow x 2))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64)) (/.f64 #s(literal 864 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 x x))
(/ (- (+ (* 72 (/ 1 (pow x 2))) (* 10368 (/ 1 (pow x 6)))) (+ 6 (/ 864 (pow x 4)))) (pow x 2))
(-.f64 (/.f64 #s(literal -864 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 (-.f64 (/.f64 #s(literal -10368 binary64) (pow.f64 x #s(literal 6 binary64))) (-.f64 (/.f64 #s(literal 72 binary64) (*.f64 x x)) #s(literal 6 binary64))) (*.f64 x x)))

rewrite247.0ms (2.6%)

Memory
11.8MiB live, 244.6MiB allocated
Rules
6 948×lower-fma.f32
6 944×lower-fma.f64
4 936×lower-*.f32
4 928×lower-*.f64
3 556×lower-/.f32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
029156
040152
1149152
21016148
08614148
Stop Event
iter limit
node limit
iter limit
Counts
8 → 234
Calls
Call 1
Inputs
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x)
(neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
(fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))))
(*.f64 #s(literal -1/288 binary64) (*.f64 x x))
#s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x)))
(/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x 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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval46.0ms (0.5%)

Memory
-5.2MiB live, 121.9MiB allocated
Compiler

Compiled 10 960 to 1 430 computations (87% saved)

prune9.0ms (0.1%)

Memory
-7.5MiB live, 30.5MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New3291330
Fresh000
Picked112
Done033
Total3305335
Accuracy
100.0%
Counts
335 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.2%
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
100.0%
#s(approx (- 1 (cos x)) (*.f64 (fma.f64 #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (*.f64 x x) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (*.f64 x x)))
100.0%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
99.9%
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
4.1%
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
Compiler

Compiled 169 to 86 computations (49.1% saved)

regimes33.0ms (0.3%)

Memory
-4.4MiB live, 38.9MiB allocated
Counts
11 → 1
Calls
Call 1
Inputs
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
#s(approx (- 1 (cos x)) (*.f64 (fma.f64 #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (*.f64 x x) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (*.f64 x x)))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
(-.f64 #s(literal 1 binary64) (cos.f64 x))
(*.f64 (sin.f64 x) (tan.f64 (/.f64 x #s(literal 2 binary64))))
Outputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
Calls

3 calls:

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

Compiled 7 to 7 computations (0% saved)

regimes9.0ms (0.1%)

Memory
-15.0MiB live, 23.1MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
#s(approx (- 1 (cos x)) (*.f64 (fma.f64 #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (*.f64 x x) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (*.f64 x x)))
Outputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
Calls

3 calls:

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

Compiled 7 to 7 computations (0% saved)

regimes6.0ms (0.1%)

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

3 calls:

2.0ms
x
2.0ms
(-.f64 #s(literal 1 binary64) (cos.f64 x))
2.0ms
(cos.f64 x)
Results
AccuracySegmentsBranch
99.9%1x
99.9%1(-.f64 #s(literal 1 binary64) (cos.f64 x))
99.9%1(cos.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes7.0ms (0.1%)

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

3 calls:

3.0ms
x
2.0ms
(cos.f64 x)
2.0ms
(-.f64 #s(literal 1 binary64) (cos.f64 x))
Results
AccuracySegmentsBranch
99.9%1x
99.9%1(-.f64 #s(literal 1 binary64) (cos.f64 x))
99.9%1(cos.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes5.0ms (0.1%)

Memory
21.5MiB live, 21.5MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
Outputs
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
Calls

3 calls:

2.0ms
x
1.0ms
(-.f64 #s(literal 1 binary64) (cos.f64 x))
1.0ms
(cos.f64 x)
Results
AccuracySegmentsBranch
51.2%1x
51.2%1(-.f64 #s(literal 1 binary64) (cos.f64 x))
51.2%1(cos.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes5.0ms (0.1%)

Memory
-19.7MiB live, 19.0MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
(+.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 1 binary64))
Outputs
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
Calls

3 calls:

3.0ms
x
1.0ms
(cos.f64 x)
1.0ms
(-.f64 #s(literal 1 binary64) (cos.f64 x))
Results
AccuracySegmentsBranch
4.1%1x
4.1%1(-.f64 #s(literal 1 binary64) (cos.f64 x))
4.1%1(cos.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

simplify29.0ms (0.3%)

Memory
12.8MiB live, 92.3MiB allocated
Algorithm
egg-herbie
Rules
24×*-commutative-binary64-*.f64
10×+-commutative-binary64-+.f64
10×sub-neg-binary64-neg.f64-+.f64--.f64
neg-sub0-binary64--.f64-neg.f64
neg-mul-1-binary64-*.f64-neg.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04296
16296
27196
37896
48196
Stop Event
saturated
Calls
Call 1
Inputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (+ (cos x) 1) #s(literal 2 binary64))
Outputs
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (neg.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64))))) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(approx (/ (* 1/576 (* x x)) (+ (* -1/24 (* x x)) -1/2)) (*.f64 #s(literal -1/288 binary64) (*.f64 x x))) (/.f64 (neg.f64 #s(literal -1/4 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 #s(approx (+ (* -1/24 (* x x)) 1/2) #s(literal 1/2 binary64)) x) x))
#s(approx (- 1 (cos x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
#s(approx (- 1 (cos x)) (*.f64 #s(literal 1/2 binary64) (*.f64 x x)))
(-.f64 #s(literal 1 binary64) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (+ (cos x) 1) #s(literal 2 binary64))

soundness2.3s (24.6%)

Memory
5.1MiB live, 711.1MiB allocated
Rules
32 720×lower-fma.f64
32 720×lower-fma.f32
16 444×lower-fma.f64
16 444×lower-fma.f32
15 162×lower-fma.f64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02083
03183
19683
251383
3399380
01184480
041144
1101144
2246144
3588144
41237144
51916144
62187144
72836144
84071144
95644144
106543144
116823144
126862144
136862144
147274144
157556144
167597144
177599144
187599144
197599144
207599144
217609144
227609144
237609144
08514132
01361294
13411294
28911294
322631294
450031294
083561219
01001068
12681062
26761062
320861062
441521062
563951062
08204993
Stop Event
fuel
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 117 to 82 computations (29.9% saved)

preprocess71.0ms (0.7%)

Memory
14.1MiB live, 128.8MiB allocated
Remove

(abs x)

Compiler

Compiled 280 to 174 computations (37.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...