x / (x^2 + 1)

Time bar (total: 4.8s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB 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)

sample765.0ms (16.1%)

Memory
5.5MiB live, 653.5MiB allocated
Samples
338.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 183.0ms
ival-mult: 70.0ms (38.2% of total)
ival-div: 54.0ms (29.5% of total)
ival-add: 45.0ms (24.5% of total)
ival-true: 6.0ms (3.3% of total)
exact: 5.0ms (2.7% of total)
ival-assert: 4.0ms (2.2% of total)
Bogosity

explain66.0ms (1.4%)

Memory
26.5MiB live, 101.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
700-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/o700
(*.f64 x x)overflow70
(+.f64 (*.f64 x x) #s(literal 1 binary64))overflow70
Confusion
Predicted +Predicted -
+700
-0186
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+7000
-00186
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0186
170
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
22.0ms512×0valid
Compiler

Compiled 62 to 24 computations (61.3% saved)

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

preprocess61.0ms (1.3%)

Memory
-26.4MiB live, 19.5MiB allocated
Algorithm
egg-herbie
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.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.6%
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify2.0ms (0.1%)

Memory
2.0MiB live, 2.0MiB 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))
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)

localize16.0ms (0.3%)

Memory
18.0MiB live, 18.0MiB allocated
Localize:

Found 3 expressions of interest:

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

Compiled 36 to 12 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-div: 2.0ms (37.2% of total)
ival-mult: 2.0ms (37.2% of total)
ival-add: 1.0ms (18.6% 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.1%)

Memory
4.8MiB live, 4.8MiB 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
@-inf
((+ (* x x) 1) (/ x (+ (* x x) 1)) (* x x))
1.0ms
x
@0
((+ (* x x) 1) (/ x (+ (* x x) 1)) (* x x))

simplify174.0ms (3.7%)

Memory
4.2MiB live, 158.5MiB allocated
Algorithm
egg-herbie
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)

rewrite208.0ms (4.4%)

Memory
-17.3MiB live, 211.1MiB allocated
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>

eval64.0ms (1.3%)

Memory
10.0MiB live, 100.1MiB allocated
Compiler

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

prune13.0ms (0.3%)

Memory
-4.7MiB live, 32.4MiB 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
63.0%
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)))
74.6%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
23.5%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
53.6%
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
74.4%
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x))
49.0%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Compiler

Compiled 80 to 60 computations (25% saved)

simplify560.0ms (11.8%)

Memory
23.3MiB live, 177.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 x x #s(literal 1 binary64))
cost-diff192
(/.f64 (fma.f64 x x #s(literal 1 binary64)) x)
cost-diff512
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) 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)))
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
01685
02583
13083
23383
33683
45683
56583
67883
78683
810283
913082
1014382
1124482
12139882
13178682
14226582
15314882
16413282
17445682
18464682
19475082
20484382
21493782
22591082
23642382
24655182
25663982
26672382
27680782
28693582
29703382
30712782
31734782
32744182
0830182
Stop Event
iter limit
node limit
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 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x))
#s(literal 1 binary64)
(/.f64 (fma.f64 x x #s(literal 1 binary64)) x)
(fma.f64 x x #s(literal 1 binary64))
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 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
#s(literal 1 binary64)
(/.f64 (fma.f64 x x #s(literal 1 binary64)) x)
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(fma.f64 x x #s(literal 1 binary64))
x

localize32.0ms (0.7%)

Memory
-9.2MiB live, 66.1MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 x x #s(literal 1 binary64))
accuracy0.11328125
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x))
accuracy16.26793359415379
(/.f64 (fma.f64 x x #s(literal 1 binary64)) x)
accuracy0
(*.f64 x x)
accuracy16.28405734214654
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
accuracy32.45524089928558
#s(approx (+ (* x x) 1) (*.f64 x x))
accuracy16.28405734214654
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
accuracy29.56120023641821
#s(approx (+ (* x x) 1) #s(literal 1 binary64))
accuracy0
(/.f64 #s(literal 1 binary64) x)
accuracy32.61242033392434
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
accuracy0
(fma.f64 x x #s(literal 1 binary64))
accuracy16.28405734214654
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
Samples
21.0ms256×0valid
Compiler

Compiled 144 to 23 computations (84% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-div: 6.0ms (61% of total)
ival-mult: 2.0ms (20.3% of total)
ival-add: 1.0ms (10.2% 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
11.9MiB live, 11.9MiB allocated
Counts
11 → 132
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 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) 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 (/.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 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (pow x 2)))) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (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 (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (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 (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) 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 (/ (+ 1 (pow x 2)) 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 (/ (+ 1 (pow x 2)) 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 (/ (+ 1 (pow x 2)) 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 (/ 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 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (/ 1 (pow x 2))) x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (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 (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (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 (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt x (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 (* x (+ 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 (* x (+ 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 (* x (+ 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 (/ 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 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (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 (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (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 (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (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 (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt x (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 (* x (+ 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 (* x (+ 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 (* x (+ 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>) () ())) ())
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) x)) (/ (+ (* x x) 1) 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) x)) (/ (+ (* x x) 1) 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) x)) (/ (+ (* x x) 1) x))

simplify479.0ms (10.1%)

Memory
-11.1MiB live, 229.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047986
1138976
2321936
3911898
42468888
56093888
08129861
Stop Event
iter limit
node limit
Counts
132 → 125
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 x)
(/ (+ 1 (pow x 2)) x)
(/ (+ 1 (pow x 2)) x)
(/ (+ 1 (pow x 2)) 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)
x
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 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))))
(/ 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))
x
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (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))))
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 x)
(/.f64 #s(literal 1 binary64) x)
(/ (+ 1 (pow x 2)) x)
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ (+ 1 (pow x 2)) x)
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ (+ 1 (pow x 2)) x)
(+.f64 (/.f64 #s(literal 1 binary64) 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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
x
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) 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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.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 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))
(/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x)
x
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)

rewrite372.0ms (7.8%)

Memory
-18.9MiB live, 188.1MiB allocated
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01672
02570
17770
239070
3323669
0982369
Stop Event
iter limit
node limit
iter limit
Counts
11 → 636
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 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) 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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval169.0ms (3.6%)

Memory
40.9MiB live, 189.3MiB allocated
Compiler

Compiled 12 223 to 1 571 computations (87.1% saved)

prune72.0ms (1.5%)

Memory
-41.1MiB live, 46.6MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New8711872
Fresh101
Picked145
Done000
Total8735878
Accuracy
100.0%
Counts
878 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.6%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
23.5%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
53.6%
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
99.8%
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
49.0%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Compiler

Compiled 28 to 22 computations (21.4% saved)

simplify3.0ms (0.1%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal 1 binary64) x)
cost-diff0
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
cost-diff0
#s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
01238
11638
01636
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
#s(literal 1 binary64)
#s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(/.f64 #s(literal 1 binary64) x)
x
Outputs
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
#s(literal 1 binary64)
#s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(/.f64 #s(literal 1 binary64) x)
x

localize75.0ms (1.6%)

Memory
4.7MiB live, 38.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(/.f64 #s(literal 1 binary64) x)
accuracy0
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
accuracy0
#s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x))
accuracy0.11328125
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
Samples
15.0ms256×0valid
Compiler

Compiled 52 to 16 computations (69.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-div: 5.0ms (53.1% of total)
ival-add: 2.0ms (21.3% of total)
ival-mult: 2.0ms (21.3% 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.1%)

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

3 calls:

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

simplify204.0ms (4.3%)

Memory
11.3MiB live, 166.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046334
1132308
2309300
3875272
42390270
55580270
67731270
08165260
Stop Event
iter limit
node limit
Counts
48 → 43
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 x)
(/ (+ 1 (pow x 2)) x)
(/ (+ 1 (pow x 2)) x)
(/ (+ 1 (pow x 2)) x)
(/ 1 x)
(/ (+ 1 (pow x 2)) x)
(/ (+ 1 (pow x 2)) x)
(/ (+ 1 (pow x 2)) 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)
x
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (pow x 2))))
x
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (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))
x
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (pow x 2))))
x
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (pow x 2))))
(* x (+ 1 (/ 1 (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 5 binary64)) x) (-.f64 #s(literal 1 binary64) (*.f64 x x)))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (+ 1 (pow x 2)) x)
(/.f64 (fma.f64 x x #s(literal 1 binary64)) x)
(/ (+ 1 (pow x 2)) x)
(/.f64 (fma.f64 x x #s(literal 1 binary64)) x)
(/ (+ 1 (pow x 2)) x)
(/.f64 (fma.f64 x x #s(literal 1 binary64)) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (+ 1 (pow x 2)) x)
(/.f64 (fma.f64 x x #s(literal 1 binary64)) x)
(/ (+ 1 (pow x 2)) x)
(/.f64 (fma.f64 x x #s(literal 1 binary64)) x)
(/ (+ 1 (pow x 2)) x)
(/.f64 (fma.f64 x x #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 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 (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)
x
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
x
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) 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 (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)
x
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
x
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(* x (+ 1 (/ 1 (pow x 2))))
(+.f64 (/.f64 #s(literal 1 binary64) x) 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)

rewrite149.0ms (3.1%)

Memory
-15.1MiB live, 190.4MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0936
01236
16136
242332
0431732
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
4 → 254
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
#s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x))
(+.f64 (/.f64 #s(literal 1 binary64) x) x)
(/.f64 #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>

eval36.0ms (0.8%)

Memory
4.4MiB live, 84.9MiB allocated
Compiler

Compiled 4 875 to 1 045 computations (78.6% saved)

prune6.0ms (0.1%)

Memory
25.3MiB live, 25.3MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New2970297
Fresh000
Picked011
Done044
Total2975302
Accuracy
100.0%
Counts
302 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.6%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
23.5%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
53.6%
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
99.8%
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
49.0%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Compiler

Compiled 83 to 47 computations (43.4% saved)

regimes9.0ms (0.2%)

Memory
-16.4MiB live, 20.6MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
(/.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)))
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1 binary64)) x))
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) x) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)))
Outputs
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
Calls

2 calls:

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

Compiled 8 to 6 computations (25% saved)

regimes5.0ms (0.1%)

Memory
19.0MiB live, 19.0MiB allocated
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64)))
(/.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)))
Outputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
#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
100.0%2x
99.9%2(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Compiler

Compiled 8 to 6 computations (25% saved)

regimes6.0ms (0.1%)

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

2 calls:

4.0ms
x
2.0ms
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
80.3%2(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
99.0%2x
Compiler

Compiled 8 to 6 computations (25% saved)

regimes3.0ms (0.1%)

Memory
5.9MiB live, 5.9MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

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

Compiled 8 to 6 computations (25% saved)

bsearch7.0ms (0.2%)

Memory
11.9MiB live, 11.9MiB allocated
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
6.0ms
160.09207314483118
171752552.9423875
Samples
3.0ms80×0valid
Compiler

Compiled 60 to 59 computations (1.7% saved)

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

bsearch10.0ms (0.2%)

Memory
15.3MiB live, 15.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
8.0ms
0.211089238058549
3.86663442246726
Samples
4.0ms112×0valid
Compiler

Compiled 66 to 79 computations (-19.7% saved)

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

simplify170.0ms (3.6%)

Memory
0.1MiB live, 36.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02071
12471
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
(if (<=.f64 x #s(literal 100000000 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 1 binary64)) (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Outputs
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1) x) (+.f64 (/.f64 #s(literal 1 binary64) x) x)))
(if (<=.f64 x #s(literal 100000000 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 1 binary64)) (/.f64 x #s(approx (+ (* x x) 1) #s(literal 1 binary64))) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))

soundness735.0ms (15.5%)

Memory
-33.5MiB live, 438.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045226
1131224
2312216
3883212
42385210
55560210
67661210
08081197
047986
1138976
2321936
3911898
42468888
56093888
08129861
0515
0815
13315
220215
3176615
0856213
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 94 to 50 computations (46.8% saved)

preprocess275.0ms (5.8%)

Memory
-16.0MiB live, 265.8MiB allocated
Compiler

Compiled 132 to 70 computations (47% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...