x / (x^2 + 1)

Time bar (total: 5.9s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
100%100%0%0%0%0%0%2
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample736.0ms (12.4%)

Memory
53.0MiB live, 662.1MiB allocated
Samples
340.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 194.0ms
ival-mult: 65.0ms (33.4% of total)
ival-div: 62.0ms (31.9% of total)
ival-add: 53.0ms (27.3% of total)
ival-true: 6.0ms (3.1% of total)
exact: 5.0ms (2.6% of total)
ival-assert: 3.0ms (1.5% of total)
Bogosity

explain89.0ms (1.5%)

Memory
-12.3MiB live, 101.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
690-0-(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
00-0-#s(literal 1 binary64)
00-0-(+.f64 (*.f64 x x) #s(literal 1 binary64))
00-0-(*.f64 x x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))n/o690
(*.f64 x x)overflow69
(+.f64 (*.f64 x x) #s(literal 1 binary64))overflow69
Confusion
Predicted +Predicted -
+690
-0187
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+6900
-00187
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0187
169
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
22.0ms512×0valid
Compiler

Compiled 45 to 19 computations (57.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 4.0ms (36.9% of total)
ival-div: 3.0ms (27.7% of total)
ival-add: 2.0ms (18.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess20.0ms (0.3%)

Memory
19.4MiB live, 19.4MiB allocated
Algorithm
egg-herbie
Rules
46×associate-*l*
42×times-frac
30×unsub-neg
28×distribute-lft-neg-in
26×distribute-neg-frac2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
12615
26214
312814
423214
533114
634414
734614
835014
057
087
1117
0116
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Outputs
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
Symmetry

(negabs x)

Compiler

Compiled 7 to 5 computations (28.6% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify45.0ms (0.8%)

Memory
-41.6MiB live, 3.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
cost-diff128
(+.f64 (*.f64 x x) #s(literal 1 binary64))
Rules
lower-+.f32
lift-+.f64
lift-/.f64
lower-fma.f64
lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0517
0817
11117
01115
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
x
(+.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 x x)
#s(literal 1 binary64)
Outputs
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
x
(+.f64 (*.f64 x x) #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(*.f64 x x)
#s(literal 1 binary64)

localize15.0ms (0.3%)

Memory
15.5MiB live, 15.5MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 (*.f64 x x) #s(literal 1 binary64))
accuracy0
(*.f64 x x)
accuracy16.068801662567754
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Samples
10.0ms256×0valid
Compiler

Compiled 19 to 7 computations (63.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-div: 2.0ms (38.2% of total)
ival-mult: 2.0ms (38.2% of total)
ival-add: 1.0ms (19.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0%)

Memory
2.9MiB live, 2.9MiB allocated
Counts
3 → 36
Calls
Call 1
Inputs
#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt 1 (taylor 0 x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 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 (pow x 2) (taylor inf x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 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 (pow x 2) (taylor -inf x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (+.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (+.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (/.f64 x (+.f64 (*.f64 x x) #s(literal 1 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>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((+ (* x x) 1) (/ x (+ (* x x) 1)) (* x x))
1.0ms
x
@0
((+ (* x x) 1) (/ x (+ (* x x) 1)) (* x x))
1.0ms
x
@-inf
((+ (* x x) 1) (/ x (+ (* x x) 1)) (* x x))

simplify176.0ms (3%)

Memory
15.6MiB live, 169.8MiB allocated
Algorithm
egg-herbie
Rules
12 662×lower-fma.f64
12 662×lower-fma.f32
2 988×lower-*.f64
2 988×lower-*.f32
1 640×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045226
1131224
2312216
3883212
42385210
55560210
67661210
08081197
Stop Event
iter limit
node limit
Counts
36 → 35
Calls
Call 1
Inputs
1
(+ 1 (pow x 2))
(+ 1 (pow x 2))
(+ 1 (pow x 2))
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
1
#s(literal 1 binary64)
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (+.f64 (pow.f64 x #s(literal 5 binary64)) x) (-.f64 #s(literal 1 binary64) (*.f64 x x)))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)

rewrite198.0ms (3.3%)

Memory
-9.1MiB live, 217.5MiB allocated
Rules
4 942×lower-/.f32
4 940×lower-/.f64
4 762×lower-fma.f64
4 762×lower-fma.f32
3 572×lower-*.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
13315
220215
3176615
0856213
Stop Event
iter limit
node limit
iter limit
Counts
3 → 327
Calls
Call 1
Inputs
(+.f64 (*.f64 x x) #s(literal 1 binary64))
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
(*.f64 x x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval63.0ms (1.1%)

Memory
12.0MiB live, 104.6MiB allocated
Compiler

Compiled 7 796 to 1 076 computations (86.2% saved)

prune12.0ms (0.2%)

Memory
-4.6MiB live, 31.7MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New3566362
Fresh000
Picked101
Done000
Total3576363
Accuracy
100.0%
Counts
363 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
25.2%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
52.5%
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
74.9%
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
52.2%
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
50.4%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Compiler

Compiled 78 to 60 computations (23.1% saved)

simplify27.0ms (0.5%)

Memory
-14.8MiB live, 23.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 x)
cost-diff0
(fma.f64 x x #s(literal 1 binary64))
cost-diff0
(/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64)))
cost-diff448
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (* x x) 1) (*.f64 x x))
cost-diff0
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
cost-diff0
#s(approx (+ (* x x) 1) #s(literal 1 binary64))
cost-diff0
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
cost-diff0
(/.f64 #s(literal 1 binary64) x)
cost-diff0
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
cost-diff0
(fma.f64 x x #s(literal 1 binary64))
cost-diff0
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
Rules
272×lower-fma.f32
270×lower-fma.f64
248×lower-*.f32
244×lower-*.f64
128×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01889
02886
13886
25586
38386
419186
535086
663386
771986
876686
979186
1080386
080386
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
x
(fma.f64 x x #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
x
#s(approx (+ (* x x) 1) #s(literal 1 binary64))
#s(literal 1 binary64)
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
x
#s(approx (+ (* x x) 1) (*.f64 x x))
(*.f64 x x)
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
(/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64)))
#s(literal -1 binary64)
(fma.f64 x x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(neg.f64 x)
Outputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
x
(fma.f64 x x #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
x
#s(approx (+ (* x x) 1) #s(literal 1 binary64))
#s(literal 1 binary64)
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
x
#s(approx (+ (* x x) 1) (*.f64 x x))
(*.f64 x x)
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64)))
#s(literal -1 binary64)
(fma.f64 x x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(neg.f64 x)

localize49.0ms (0.8%)

Memory
0.9MiB live, 39.9MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 x x #s(literal 1 binary64))
accuracy0
(neg.f64 x)
accuracy0.19994257305929306
(/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64)))
accuracy15.857168313167884
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
accuracy0
(*.f64 x x)
accuracy16.068801662567754
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
accuracy31.61148536026631
#s(approx (+ (* x x) 1) (*.f64 x x))
accuracy16.068801662567754
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
accuracy30.23048864936437
#s(approx (+ (* x x) 1) #s(literal 1 binary64))
accuracy0
(/.f64 #s(literal 1 binary64) x)
accuracy31.77204429606428
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
accuracy0
(fma.f64 x x #s(literal 1 binary64))
accuracy16.068801662567754
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
Samples
21.0ms256×0valid
Compiler

Compiled 85 to 12 computations (85.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-div: 5.0ms (44.5% of total)
ival-mult: 4.0ms (35.6% of total)
ival-add: 1.0ms (8.9% of total)
ival-neg: 1.0ms (8.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
13.8MiB live, 13.8MiB allocated
Counts
12 → 144
Calls
Call 1
Inputs
#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())
#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())
#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1 (* (pow x 2) (- (pow x 2) 1)))) 1) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) 1) (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (/.f64 x (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 1 binary64)) (patch (fma.f64 x x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) (patch #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) (patch (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (+ (* x x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* x x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) (patch (/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (+ (* x x) 1) (*.f64 x x)) (patch #s(approx (+ (* x x) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) (patch (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) 1) (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (patch (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((/ x (+ (* x x) 1)) (+ (* x x) 1) (/ x (+ (* x x) 1)) (/ 1 x) (/ x (+ (* x x) 1)) (+ (* x x) 1) (/ x (+ (* x x) 1)) (+ (* x x) 1) (* x x) (* (/ -1 (+ (* x x) 1)) (neg x)) (/ -1 (+ (* x x) 1)) (neg x))
1.0ms
x
@inf
((/ x (+ (* x x) 1)) (+ (* x x) 1) (/ x (+ (* x x) 1)) (/ 1 x) (/ x (+ (* x x) 1)) (+ (* x x) 1) (/ x (+ (* x x) 1)) (+ (* x x) 1) (* x x) (* (/ -1 (+ (* x x) 1)) (neg x)) (/ -1 (+ (* x x) 1)) (neg x))
1.0ms
x
@0
((/ x (+ (* x x) 1)) (+ (* x x) 1) (/ x (+ (* x x) 1)) (/ 1 x) (/ x (+ (* x x) 1)) (+ (* x x) 1) (/ x (+ (* x x) 1)) (+ (* x x) 1) (* x x) (* (/ -1 (+ (* x x) 1)) (neg x)) (/ -1 (+ (* x x) 1)) (neg x))

simplify638.0ms (10.7%)

Memory
14.4MiB live, 214.7MiB allocated
Algorithm
egg-herbie
Rules
15 154×lower-fma.f64
15 154×lower-fma.f32
2 732×lower-*.f64
2 732×lower-*.f32
1 946×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0521089
11521078
23651034
310291010
427461000
567631000
08068970
Stop Event
iter limit
node limit
Counts
144 → 139
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
1
(+ 1 (pow x 2))
(+ 1 (pow x 2))
(+ 1 (pow x 2))
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
1
(+ 1 (pow x 2))
(+ 1 (pow x 2))
(+ 1 (pow x 2))
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
1
(+ 1 (pow x 2))
(+ 1 (pow x 2))
(+ 1 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
-1
(- (pow x 2) 1)
(- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)
(- (* (pow x 2) (+ 1 (* (pow x 2) (- (pow x 2) 1)))) 1)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/ -1 (pow x 2))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/ -1 (pow x 2))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
Outputs
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
1
#s(literal 1 binary64)
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
1
#s(literal 1 binary64)
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
1
#s(literal 1 binary64)
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 binary64))
(+ 1 (pow x 2))
(fma.f64 x x #s(literal 1 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)
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)
(fma.f64 (-.f64 x (pow.f64 x #s(literal 3 binary64))) x #s(literal -1 binary64))
(- (* (pow x 2) (+ 1 (* (pow x 2) (- (pow x 2) 1)))) 1)
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 x x #s(literal -1 binary64)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 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 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(/ -1 (pow x 2))
(/.f64 #s(literal -1 binary64) (*.f64 x x))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x)
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x) x) #s(literal 1 binary64)) x) x)
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (*.f64 x x)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64))) (*.f64 x x))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal 1 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 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(/ -1 (pow x 2))
(/.f64 #s(literal -1 binary64) (*.f64 x x))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x)
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x) x) #s(literal 1 binary64)) x) x)
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (*.f64 x x)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64))) (*.f64 x x))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)

rewrite360.0ms (6.1%)

Memory
-11.5MiB live, 214.7MiB allocated
Rules
4 638×lower-*.f32
4 634×lower-*.f64
3 018×lower-/.f32
3 008×lower-/.f64
2 300×lower-fma.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01875
02872
18272
239872
3320372
0950172
Stop Event
iter limit
node limit
iter limit
Counts
12 → 742
Calls
Call 1
Inputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(fma.f64 x x #s(literal 1 binary64))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
#s(approx (+ (* x x) 1) #s(literal 1 binary64))
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
#s(approx (+ (* x x) 1) (*.f64 x x))
(*.f64 x x)
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
(/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64)))
(neg.f64 x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval210.0ms (3.5%)

Memory
3.9MiB live, 252.2MiB allocated
Compiler

Compiled 17 579 to 2 083 computations (88.2% saved)

prune22.0ms (0.4%)

Memory
-9.2MiB live, 68.4MiB allocated
Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New1 08421 086
Fresh011
Picked145
Done000
Total1 08571 092
Accuracy
100.0%
Counts
1 092 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
25.2%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
74.9%
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
51.5%
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
52.5%
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
52.2%
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
50.4%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Compiler

Compiled 48 to 37 computations (22.9% saved)

simplify276.0ms (4.6%)

Memory
11.4MiB live, 196.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 x)
cost-diff0
(fma.f64 x x #s(literal -1 binary64))
cost-diff0
#s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64)))
cost-diff0
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
cost-diff0
(neg.f64 x)
cost-diff0
#s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64))
cost-diff0
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
cost-diff0
(fma.f64 x x #s(literal -1 binary64))
cost-diff0
(pow.f64 x #s(literal 3 binary64))
cost-diff0
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
cost-diff0
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
Rules
22 500×lower-fma.f32
22 496×lower-fma.f64
3 212×lower-*.f32
3 208×lower-*.f64
2 190×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01796
02496
14996
211496
323696
455996
5127096
6383896
7565096
8714496
0809391
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
(fma.f64 x x #s(literal -1 binary64))
#s(literal -1 binary64)
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
#s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64))
#s(literal -1 binary64)
(neg.f64 x)
x
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
#s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
(neg.f64 x)
Outputs
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64)) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(fma.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
(fma.f64 x x #s(literal -1 binary64))
#s(literal -1 binary64)
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
(*.f64 (neg.f64 x) #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)))
#s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64))
#s(literal -1 binary64)
(neg.f64 x)
x
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
#s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
(neg.f64 x)

localize143.0ms (2.4%)

Memory
0.0MiB live, 93.5MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 x x #s(literal -1 binary64))
accuracy0
(neg.f64 x)
accuracy15.857168313167884
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
accuracy30.924309647740415
#s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64)))
accuracy0
(neg.f64 x)
accuracy15.857168313167884
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
accuracy30.24089322183191
#s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64))
accuracy0
(fma.f64 x x #s(literal -1 binary64))
accuracy0
(pow.f64 x #s(literal 3 binary64))
accuracy0.03125
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
accuracy30.57784154782425
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
Samples
133.0ms256×0valid
Compiler

Compiled 78 to 16 computations (79.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-mult: 5.0ms (30.1% of total)
ival-add: 4.0ms (24.1% of total)
ival-div: 3.0ms (18.1% of total)
ival-pow: 3.0ms (18.1% of total)
ival-neg: 1.0ms (6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
14.5MiB live, 14.5MiB allocated
Counts
9 → 108
Calls
Call 1
Inputs
#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())
#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())
#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())
#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())
#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1) (taylor 0 x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1 (* (pow x 2) (- (pow x 2) 1)))) 1) (taylor 0 x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1) (taylor 0 x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* (pow x 2) (+ 1 (* (pow x 2) (- (pow x 2) 1)))) 1) (taylor 0 x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 5) (taylor inf x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) 1) (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) 1) (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 5) (taylor -inf x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 5) (- (/ 1 (pow x 2)) 1))) (taylor -inf x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))))) (taylor -inf x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))))) (taylor -inf x) (#s(alt (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) (patch (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) 1) (pow x 2)) (taylor -inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (patch #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) (patch (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) 1) (pow x 2)) (taylor -inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2)) (taylor -inf x) (#s(alt #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (patch #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((/ x (+ (* x x) 1)) (+ (* (pow x 3) (+ (* x x) -1)) x) (pow x 3) (+ (* x x) -1) (* (/ -1 (+ (* x x) 1)) (neg x)) (/ -1 (+ (* x x) 1)) (neg x) (* (/ -1 (+ (* x x) 1)) (neg x)) (/ -1 (+ (* x x) 1)))
1.0ms
x
@inf
((/ x (+ (* x x) 1)) (+ (* (pow x 3) (+ (* x x) -1)) x) (pow x 3) (+ (* x x) -1) (* (/ -1 (+ (* x x) 1)) (neg x)) (/ -1 (+ (* x x) 1)) (neg x) (* (/ -1 (+ (* x x) 1)) (neg x)) (/ -1 (+ (* x x) 1)))
1.0ms
x
@0
((/ x (+ (* x x) 1)) (+ (* (pow x 3) (+ (* x x) -1)) x) (pow x 3) (+ (* x x) -1) (* (/ -1 (+ (* x x) 1)) (neg x)) (/ -1 (+ (* x x) 1)) (neg x) (* (/ -1 (+ (* x x) 1)) (neg x)) (/ -1 (+ (* x x) 1)))

simplify313.0ms (5.3%)

Memory
-2.9MiB live, 125.8MiB allocated
Algorithm
egg-herbie
Rules
11 074×lower-fma.f64
11 074×lower-fma.f32
2 258×lower-*.f64
2 258×lower-*.f32
1 564×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060935
1167889
2421880
31243848
43588834
57129834
08132819
Stop Event
iter limit
node limit
Counts
108 → 104
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
-1
(- (pow x 2) 1)
(- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)
(- (* (pow x 2) (+ 1 (* (pow x 2) (- (pow x 2) 1)))) 1)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
-1
(- (pow x 2) 1)
(- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)
(- (* (pow x 2) (+ 1 (* (pow x 2) (- (pow x 2) 1)))) 1)
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(pow x 5)
(* (pow x 5) (- 1 (/ 1 (pow x 2))))
(* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))))
(* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/ -1 (pow x 2))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/ -1 (pow x 2))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(pow x 5)
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) 1)))
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4))))))
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4))))))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/ -1 (pow x 2))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/ -1 (pow x 2))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
Outputs
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)
(fma.f64 (-.f64 x (pow.f64 x #s(literal 3 binary64))) x #s(literal -1 binary64))
(- (* (pow x 2) (+ 1 (* (pow x 2) (- (pow x 2) 1)))) 1)
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 x x #s(literal -1 binary64)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)
(fma.f64 (-.f64 x (pow.f64 x #s(literal 3 binary64))) x #s(literal -1 binary64))
(- (* (pow x 2) (+ 1 (* (pow x 2) (- (pow x 2) 1)))) 1)
(*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 x x #s(literal -1 binary64)))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 5)
(pow.f64 x #s(literal 5 binary64))
(* (pow x 5) (- 1 (/ 1 (pow x 2))))
(-.f64 (pow.f64 x #s(literal 5 binary64)) (pow.f64 x #s(literal 3 binary64)))
(* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(/ -1 (pow x 2))
(/.f64 #s(literal -1 binary64) (*.f64 x x))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x)
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x) x) #s(literal 1 binary64)) x) x)
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (*.f64 x x)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64))) (*.f64 x x))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(/ -1 (pow x 2))
(/.f64 #s(literal -1 binary64) (*.f64 x x))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x)
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x) x) #s(literal 1 binary64)) x) x)
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (*.f64 x x)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64))) (*.f64 x x))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(pow x 5)
(pow.f64 x #s(literal 5 binary64))
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) 1)))
(-.f64 (pow.f64 x #s(literal 5 binary64)) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4))))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4))))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(/ -1 (pow x 2))
(/.f64 #s(literal -1 binary64) (*.f64 x x))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x)
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x) x) #s(literal 1 binary64)) x) x)
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (*.f64 x x)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64))) (*.f64 x x))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
(/ -1 (pow x 2))
(/.f64 #s(literal -1 binary64) (*.f64 x x))
(/ (- (/ 1 (pow x 2)) 1) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) x) x)
(/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (/.f64 (-.f64 (/.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x) x) #s(literal 1 binary64)) x) x)
(/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) (pow x 2))
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (*.f64 x x)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64))) (*.f64 x x))

rewrite178.0ms (3%)

Memory
9.6MiB live, 268.2MiB allocated
Rules
9 406×lower-fma.f32
9 402×lower-fma.f64
4 696×lower-*.f32
4 692×lower-*.f64
3 062×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01783
02483
110083
262583
3771483
0848378
Stop Event
iter limit
node limit
iter limit
Counts
9 → 367
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(pow.f64 x #s(literal 3 binary64))
(fma.f64 x x #s(literal -1 binary64))
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
#s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64))
(neg.f64 x)
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
#s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x 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>

eval112.0ms (1.9%)

Memory
-4.7MiB live, 214.6MiB allocated
Compiler

Compiled 12 083 to 1 609 computations (86.7% saved)

prune17.0ms (0.3%)

Memory
2.7MiB live, 79.9MiB allocated
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New6391640
Fresh000
Picked123
Done044
Total6407647
Accuracy
100.0%
Counts
647 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
25.2%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
74.9%
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
51.5%
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
52.5%
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
52.2%
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x))
50.4%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Compiler

Compiled 50 to 37 computations (26% saved)

simplify416.0ms (7%)

Memory
-28.2MiB live, 268.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 x x #s(literal -1 binary64))
cost-diff0
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x))
cost-diff128
(fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)
Rules
19 056×lower-fma.f32
19 052×lower-fma.f64
3 278×lower-*.f32
3 274×lower-*.f64
2 526×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01145
01645
13043
25943
316242
451640
597340
6233340
7439540
8598940
9768840
0806239
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x))
(fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)
(*.f64 (fma.f64 x x #s(literal -1 binary64)) x)
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
(*.f64 x x)
Outputs
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
(fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(*.f64 (fma.f64 x x #s(literal -1 binary64)) x)
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
(*.f64 x x)

localize56.0ms (0.9%)

Memory
11.0MiB live, 49.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.03515625
(fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)
accuracy0.04296875
(*.f64 (fma.f64 x x #s(literal -1 binary64)) x)
accuracy30.57784154782425
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x))
Samples
49.0ms256×0valid
Compiler

Compiled 39 to 12 computations (69.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 43.0ms
ival-add: 36.0ms (83.3% of total)
ival-mult: 5.0ms (11.6% of total)
ival-div: 2.0ms (4.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series22.0ms (0.4%)

Memory
-27.9MiB live, 11.0MiB allocated
Counts
5 → 60
Calls
Call 1
Inputs
#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())
#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())
#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (pow x 2) 1)))) (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1)))) (taylor 0 x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 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 x) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- (pow x 2) 1)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- (pow x 2) 1)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- (pow x 2) 1)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (pow x 5) (taylor inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x) (taylor inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 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 (pow x 3) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (pow x 5) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 5) (- (/ 1 (pow x 2)) 1))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) (patch (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) 1) x)) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x)) (taylor -inf x) (#s(alt #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) (patch #s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 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 (pow x 3) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (/ 1 (pow x 2)) 1))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (/ 1 (pow x 2)) 1))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (/ 1 (pow x 2)) 1))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
19.0ms
x
@0
((+ (* (* (+ (* x x) -1) x) (* x x)) x) (/ x (+ (* x x) 1)) (+ (* x x) -1) (* x x) (* (+ (* x x) -1) x))
1.0ms
x
@inf
((+ (* (* (+ (* x x) -1) x) (* x x)) x) (/ x (+ (* x x) 1)) (+ (* x x) -1) (* x x) (* (+ (* x x) -1) x))
1.0ms
x
@-inf
((+ (* (* (+ (* x x) -1) x) (* x x)) x) (/ x (+ (* x x) 1)) (+ (* x x) -1) (* x x) (* (+ (* x x) -1) x))

simplify143.0ms (2.4%)

Memory
19.9MiB live, 136.6MiB allocated
Algorithm
egg-herbie
Rules
10 278×lower-fma.f64
10 278×lower-fma.f32
2 274×lower-*.f64
2 274×lower-*.f32
1 788×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058428
1160405
2410393
31266385
43637385
57646385
08257376
Stop Event
iter limit
node limit
Counts
60 → 58
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
x
(* x (+ 1 (* -1 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1 x)
(* x (- (pow x 2) 1))
(* x (- (pow x 2) 1))
(* x (- (pow x 2) 1))
(pow x 5)
(* (pow x 5) (- 1 (/ 1 (pow x 2))))
(* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))))
(* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))))
(/ 1 x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 3)
(* (pow x 3) (- 1 (/ 1 (pow x 2))))
(* (pow x 3) (- 1 (/ 1 (pow x 2))))
(* (pow x 3) (- 1 (/ 1 (pow x 2))))
(pow x 5)
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) 1)))
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4))))))
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4))))))
(/ 1 x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 3)
(* -1 (* (pow x 3) (- (/ 1 (pow x 2)) 1)))
(* -1 (* (pow x 3) (- (/ 1 (pow x 2)) 1)))
(* -1 (* (pow x 3) (- (/ 1 (pow x 2)) 1)))
Outputs
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
x
(* x (+ 1 (* -1 (pow x 2))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))
(*.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 x x))) x)
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 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 x)
(neg.f64 x)
(* x (- (pow x 2) 1))
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)
(* x (- (pow x 2) 1))
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)
(* x (- (pow x 2) 1))
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)
(pow x 5)
(pow.f64 x #s(literal 5 binary64))
(* (pow x 5) (- 1 (/ 1 (pow x 2))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) (pow.f64 x #s(literal 5 binary64)))
(* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64))) (pow.f64 x #s(literal 5 binary64)))
(* (pow x 5) (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64))) (pow.f64 x #s(literal 5 binary64)))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (/ 1 (pow x 2))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)
(-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64)) x))
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 6 binary64))) (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))))) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 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)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (- 1 (/ 1 (pow x 2))))
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)
(* (pow x 3) (- 1 (/ 1 (pow x 2))))
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)
(* (pow x 3) (- 1 (/ 1 (pow x 2))))
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)
(pow x 5)
(pow.f64 x #s(literal 5 binary64))
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) (pow.f64 x #s(literal 5 binary64)))
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4))))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64))) (pow.f64 x #s(literal 5 binary64)))
(* -1 (* (pow x 5) (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4))))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64))) (pow.f64 x #s(literal 5 binary64)))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (/ 1 (pow x 2)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)
(* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))
(-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64)) x))
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 6 binary64))) (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))))) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 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)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* -1 (* (pow x 3) (- (/ 1 (pow x 2)) 1)))
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)
(* -1 (* (pow x 3) (- (/ 1 (pow x 2)) 1)))
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)
(* -1 (* (pow x 3) (- (/ 1 (pow x 2)) 1)))
(-.f64 (pow.f64 x #s(literal 3 binary64)) x)

rewrite211.0ms (3.6%)

Memory
14.2MiB live, 194.1MiB allocated
Rules
7 214×lower-fma.f32
7 210×lower-fma.f64
3 854×lower-*.f32
3 850×lower-*.f64
2 370×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01143
01643
17241
248840
3611840
0888337
Stop Event
iter limit
node limit
iter limit
Counts
5 → 423
Calls
Call 1
Inputs
(fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x)
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x))
(fma.f64 x x #s(literal -1 binary64))
(*.f64 x x)
(*.f64 (fma.f64 x x #s(literal -1 binary64)) x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval102.0ms (1.7%)

Memory
-9.4MiB live, 121.5MiB allocated
Compiler

Compiled 11 514 to 1 815 computations (84.2% saved)

prune13.0ms (0.2%)

Memory
5.1MiB live, 39.6MiB allocated
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New4810481
Fresh000
Picked011
Done066
Total4817488
Accuracy
100.0%
Counts
488 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
25.2%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
74.9%
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
51.5%
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
52.5%
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
52.2%
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x))
50.4%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Compiler

Compiled 121 to 66 computations (45.5% saved)

regimes12.0ms (0.2%)

Memory
-28.2MiB live, 24.0MiB allocated
Counts
10 → 2
Calls
Call 1
Inputs
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x))
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
Outputs
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Calls

2 calls:

8.0ms
x
3.0ms
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
100.0%2x
99.9%2(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Compiler

Compiled 8 to 6 computations (25% saved)

regimes4.0ms (0.1%)

Memory
12.2MiB live, 12.2MiB allocated
Counts
8 → 2
Calls
Call 1
Inputs
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x))
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x x) x))
Outputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
100.0%2x
Compiler

Compiled 1 to 1 computations (0% saved)

regimes5.0ms (0.1%)

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

2 calls:

2.0ms
x
2.0ms
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
81.6%3(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
99.4%2x
Compiler

Compiled 8 to 6 computations (25% saved)

regimes2.0ms (0%)

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

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
99.2%2x
Compiler

Compiled 1 to 1 computations (0% saved)

regimes4.0ms (0.1%)

Memory
-32.0MiB live, 6.9MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
Outputs
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
Calls

2 calls:

3.0ms
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
1.0ms
x
Results
AccuracySegmentsBranch
52.5%1(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
52.5%1x
Compiler

Compiled 8 to 6 computations (25% saved)

bsearch2.0ms (0%)

Memory
4.5MiB live, 4.5MiB allocated
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
1.0ms
20020407.369264547
121827970593603.95
Samples
1.0ms16×0valid
Compiler

Compiled 23 to 22 computations (4.3% saved)

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

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
0.0ms
20020407.369264547
121827970593603.95
Compiler

Compiled 20 to 19 computations (5% saved)

bsearch12.0ms (0.2%)

Memory
24.9MiB live, 24.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
10.0ms
0.12024250912323202
42161.16708456583
Samples
5.0ms144×0valid
Compiler

Compiled 118 to 117 computations (0.8% saved)

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

bsearch8.0ms (0.1%)

Memory
-23.1MiB live, 15.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
7.0ms
0.12024250912323202
42161.16708456583
Samples
2.0ms64×0valid
Compiler

Compiled 91 to 108 computations (-18.7% saved)

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

simplify26.0ms (0.4%)

Memory
-4.6MiB live, 76.0MiB allocated
Algorithm
egg-herbie
Rules
28×*-commutative-binary64-*.f64
18×neg-sub0-binary64--.f64-neg.f64
18×+-commutative-binary64-+.f64
18×neg-mul-1-binary64-*.f64-neg.f64
18×sub-neg-binary64-neg.f64-+.f64--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028114
142114
262114
382114
495114
5101114
6103114
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 x #s(literal 40000000 binary64)) (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 40000000 binary64)) (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 7656119366529843/9007199254740992 binary64)) (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 1 binary64)) (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))
Outputs
(if (<=.f64 x #s(literal 40000000 binary64)) (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64))) (neg.f64 x)) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 40000000 binary64)) (*.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) (fma.f64 x x #s(literal 1 binary64)))) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 40000000 binary64)) (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 7656119366529843/9007199254740992 binary64)) (*.f64 #s(approx (/ -1 (+ (* x x) 1)) (fma.f64 x x #s(literal -1 binary64))) (neg.f64 x)) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 1 binary64)) (*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x)) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(*.f64 #s(approx (/ -1 (+ (* x x) 1)) #s(literal -1 binary64)) (neg.f64 x))

soundness1.0s (17.6%)

Memory
23.1MiB live, 439.4MiB allocated
Rules
15 154×lower-fma.f64
15 154×lower-fma.f32
12 662×lower-fma.f64
12 662×lower-fma.f32
4 942×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
13315
220215
3176615
0856213
045226
1131224
2312216
3883212
42385210
55560210
67661210
08081197
0521089
11521078
23651034
310291010
427461000
567631000
08068970
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 169 to 96 computations (43.2% saved)

preprocess143.0ms (2.4%)

Memory
36.2MiB live, 216.2MiB allocated
Compiler

Compiled 192 to 92 computations (52.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...