Data.Colour.CIE:cieLAB from colour-2.3.3, B

Time bar (total: 4.2s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

sample870.0ms (20.6%)

Memory
11.6MiB live, 605.4MiB allocated
Samples
479.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 228.0ms
ival-add: 155.0ms (67.9% of total)
ival-div: 57.0ms (25% of total)
exact: 8.0ms (3.5% of total)
ival-true: 5.0ms (2.2% of total)
ival-assert: 3.0ms (1.3% of total)
Bogosity

explain101.0ms (2.4%)

Memory
-9.8MiB live, 105.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
00-0-(+.f64 x #s(literal 16 binary64))
00-0-#s(literal 16 binary64)
00-0-#s(literal 116 binary64)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
34.0ms512×0valid
Compiler

Compiled 42 to 24 computations (42.9% saved)

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

preprocess32.0ms (0.8%)

Memory
-2.4MiB live, 41.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11910
23410
37510
416110
524010
625810
726210
055
075
185
085
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
Outputs
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
(/.f64 (+.f64 #s(literal 16 binary64) x) #s(literal 116 binary64))
Compiler

Compiled 5 to 5 computations (0% saved)

eval0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
Compiler

Compiled 5 to 5 computations (0% saved)

simplify3.0ms (0.1%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 x #s(literal 16 binary64))
cost-diff0
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
0711
1811
0811
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
(+.f64 x #s(literal 16 binary64))
x
#s(literal 16 binary64)
#s(literal 116 binary64)
Outputs
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
(/.f64 (+.f64 #s(literal 16 binary64) x) #s(literal 116 binary64))
(+.f64 x #s(literal 16 binary64))
(+.f64 #s(literal 16 binary64) x)
x
#s(literal 16 binary64)
#s(literal 116 binary64)

localize30.0ms (0.7%)

Memory
5.6MiB live, 44.9MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 x #s(literal 16 binary64))
accuracy0.01171875
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
Samples
25.0ms256×0valid
Compiler

Compiled 24 to 12 computations (50% saved)

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

series43.0ms (1%)

Memory
-34.7MiB live, 4.9MiB allocated
Counts
2 → 24
Calls
Call 1
Inputs
#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())
#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())
Outputs
#s(alt 4/29 (taylor 0 x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt 16 (taylor 0 x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 16 x) (taylor 0 x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 16 x) (taylor 0 x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 16 x) (taylor 0 x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 16 (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 16 (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 16 (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) (patch (/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 16 (/ 1 x)))) (taylor -inf x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 16 (/ 1 x)))) (taylor -inf x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 16 (/ 1 x)))) (taylor -inf x) (#s(alt (+.f64 x #s(literal 16 binary64)) (patch (+.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
((/ (+ x 16) 116) (+ x 16))
0.0ms
x
@-inf
((/ (+ x 16) 116) (+ x 16))
0.0ms
x
@0
((/ (+ x 16) 116) (+ x 16))

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01582
14182
26782
314082
414082
514382
614882
714882
014873
Stop Event
iter limit
saturated
Counts
24 → 22
Calls
Call 1
Inputs
4/29
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
16
(+ 16 x)
(+ 16 x)
(+ 16 x)
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
x
(* x (+ 1 (* 16 (/ 1 x))))
(* x (+ 1 (* 16 (/ 1 x))))
(* x (+ 1 (* 16 (/ 1 x))))
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
x
(* x (+ 1 (* 16 (/ 1 x))))
(* x (+ 1 (* 16 (/ 1 x))))
(* x (+ 1 (* 16 (/ 1 x))))
Outputs
4/29
#s(literal 4/29 binary64)
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
16
#s(literal 16 binary64)
(+ 16 x)
(+.f64 #s(literal 16 binary64) x)
(+ 16 x)
(+.f64 #s(literal 16 binary64) x)
(+ 16 x)
(+.f64 #s(literal 16 binary64) x)
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
x
(* x (+ 1 (* 16 (/ 1 x))))
(+.f64 #s(literal 16 binary64) x)
(* x (+ 1 (* 16 (/ 1 x))))
(+.f64 #s(literal 16 binary64) x)
(* x (+ 1 (* 16 (/ 1 x))))
(+.f64 #s(literal 16 binary64) x)
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
x
(* x (+ 1 (* 16 (/ 1 x))))
(+.f64 #s(literal 16 binary64) x)
(* x (+ 1 (* 16 (/ 1 x))))
(+.f64 #s(literal 16 binary64) x)
(* x (+ 1 (* 16 (/ 1 x))))
(+.f64 #s(literal 16 binary64) x)

rewrite209.0ms (4.9%)

Memory
29.8MiB live, 142.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
078
1338
21778
314408
084047
Stop Event
iter limit
node limit
iter limit
Counts
2 → 416
Calls
Call 1
Inputs
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
(+.f64 x #s(literal 16 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval86.0ms (2%)

Memory
-6.7MiB live, 64.6MiB allocated
Compiler

Compiled 8 443 to 1 239 computations (85.3% saved)

prune31.0ms (0.7%)

Memory
-24.7MiB live, 26.0MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New4344438
Fresh000
Picked011
Done000
Total4345439
Accuracy
100.0%
Counts
439 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
67.8%
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
100.0%
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
49.3%
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
52.2%
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
Compiler

Compiled 29 to 28 computations (3.4% saved)

simplify212.0ms (5%)

Memory
28.5MiB live, 103.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
cost-diff0
(pow.f64 x #s(literal 3 binary64))
cost-diff0
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
cost-diff0
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
cost-diff128
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
cost-diff0
(*.f64 x #s(literal 1/116 binary64))
cost-diff0
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
cost-diff0
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02174
03074
15674
211074
322574
447474
583074
6130874
7177774
8232472
9370372
10398672
11409872
12419572
13429172
14429672
15455572
16466772
17467972
18467972
19467972
0467970
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
#s(literal 4/29 binary64)
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
(*.f64 x #s(literal 1/116 binary64))
x
#s(literal 1/116 binary64)
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
#s(literal -4096 binary64)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
#s(literal -116 binary64)
(fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))
(-.f64 x #s(literal 16 binary64))
#s(literal 16 binary64)
#s(literal 256 binary64)
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
x
#s(literal 1/116 binary64)
#s(literal 4/29 binary64)
Outputs
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
#s(literal 4/29 binary64)
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
#s(approx (/ (+ x 16) 116) (*.f64 #s(literal 1/116 binary64) x))
(*.f64 x #s(literal 1/116 binary64))
(*.f64 #s(literal 1/116 binary64) x)
x
#s(literal 1/116 binary64)
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
#s(literal -4096 binary64)
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
#s(literal -116 binary64)
(fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))
(fma.f64 (-.f64 x #s(literal 16 binary64)) x #s(literal 256 binary64))
(-.f64 x #s(literal 16 binary64))
#s(literal 16 binary64)
#s(literal 256 binary64)
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
x
#s(literal 1/116 binary64)
#s(literal 4/29 binary64)

localize87.0ms (2.1%)

Memory
-12.9MiB live, 79.8MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.03125
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
accuracy0
(-.f64 x #s(literal 16 binary64))
accuracy0
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
accuracy0.1015625
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
accuracy20.088269536428523
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
accuracy0.08203125
(*.f64 x #s(literal 1/116 binary64))
accuracy32.40413707138826
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
accuracy30.572809686868947
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
Samples
63.0ms256×0valid
Compiler

Compiled 138 to 40 computations (71% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-add: 13.0ms (37.2% of total)
const: 6.0ms (17.2% of total)
ival-mult: 5.0ms (14.3% of total)
ival-pow: 4.0ms (11.5% of total)
ival-div: 3.0ms (8.6% of total)
ival-sub: 2.0ms (5.7% of total)
exact: 1.0ms (2.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series21.0ms (0.5%)

Memory
-26.8MiB live, 10.8MiB allocated
Counts
9 → 108
Calls
Call 1
Inputs
#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())
#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())
#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())
#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())
#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())
Outputs
#s(alt 4/29 (taylor 0 x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt 4/29 (taylor 0 x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt -29696 (taylor 0 x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* 1856 x) 29696) (taylor 0 x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1856 (* -116 x))) 29696) (taylor 0 x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1856 (* -116 x))) 29696) (taylor 0 x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt 4/29 (taylor 0 x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt -4096 (taylor 0 x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (pow x 3)) 4096) (taylor 0 x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (pow x 3)) 4096) (taylor 0 x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (pow x 3)) 4096) (taylor 0 x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor 0 x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt 4/29 (taylor 0 x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt -16 (taylor 0 x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 16) (taylor 0 x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 16) (taylor 0 x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 16) (taylor 0 x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -116 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) 116)) (taylor inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 3)) (taylor inf x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 16 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 16 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 16 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) (patch #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (patch #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/116 binary64)) (patch (*.f64 x #s(literal 1/116 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -116 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) 116)) (taylor -inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116)) (taylor -inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116)) (taylor -inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 3)) (taylor -inf x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor -inf x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor -inf x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor -inf x) (#s(alt (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (patch (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (pow.f64 x #s(literal 3 binary64)) (patch (pow.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) (patch (fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 16 (/ 1 x)) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 16 (/ 1 x)) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 16 (/ 1 x)) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 16 binary64)) (patch (-.f64 x #s(literal 16 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@inf
((/ (+ x 16) 116) (/ (+ x 16) 116) (* x 1/116) (* -116 (+ (* x (- x 16)) 256)) (/ (- -4096 (pow x 3)) (* -116 (+ (* x (- x 16)) 256))) (- -4096 (pow x 3)) (pow x 3) (+ (* x 1/116) 4/29) (- x 16))
2.0ms
x
@-inf
((/ (+ x 16) 116) (/ (+ x 16) 116) (* x 1/116) (* -116 (+ (* x (- x 16)) 256)) (/ (- -4096 (pow x 3)) (* -116 (+ (* x (- x 16)) 256))) (- -4096 (pow x 3)) (pow x 3) (+ (* x 1/116) 4/29) (- x 16))
2.0ms
x
@0
((/ (+ x 16) 116) (/ (+ x 16) 116) (* x 1/116) (* -116 (+ (* x (- x 16)) 256)) (/ (- -4096 (pow x 3)) (* -116 (+ (* x (- x 16)) 256))) (- -4096 (pow x 3)) (pow x 3) (+ (* x 1/116) 4/29) (- x 16))

simplify152.0ms (3.6%)

Memory
9.1MiB live, 84.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058461
1149461
2376452
31020448
43050448
55411448
08104397
Stop Event
iter limit
node limit
Counts
108 → 106
Calls
Call 1
Inputs
4/29
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
4/29
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(* 1/116 x)
(* 1/116 x)
(* 1/116 x)
(* 1/116 x)
-29696
(- (* 1856 x) 29696)
(- (* x (+ 1856 (* -116 x))) 29696)
(- (* x (+ 1856 (* -116 x))) 29696)
4/29
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
-4096
(- (* -1 (pow x 3)) 4096)
(- (* -1 (pow x 3)) 4096)
(- (* -1 (pow x 3)) 4096)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
4/29
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
-16
(- x 16)
(- x 16)
(- x 16)
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* 1/116 x)
(* 1/116 x)
(* 1/116 x)
(* 1/116 x)
(* -116 (pow x 2))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* -1 (pow x 3))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
x
(* x (- 1 (* 16 (/ 1 x))))
(* x (- 1 (* 16 (/ 1 x))))
(* x (- 1 (* 16 (/ 1 x))))
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* 1/116 x)
(* 1/116 x)
(* 1/116 x)
(* 1/116 x)
(* -116 (pow x 2))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* -1 (pow x 3))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
x
(* -1 (* x (- (* 16 (/ 1 x)) 1)))
(* -1 (* x (- (* 16 (/ 1 x)) 1)))
(* -1 (* x (- (* 16 (/ 1 x)) 1)))
Outputs
4/29
#s(literal 4/29 binary64)
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
4/29
#s(literal 4/29 binary64)
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
-29696
#s(literal -29696 binary64)
(- (* 1856 x) 29696)
(fma.f64 #s(literal 1856 binary64) x #s(literal -29696 binary64))
(- (* x (+ 1856 (* -116 x))) 29696)
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(- (* x (+ 1856 (* -116 x))) 29696)
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
4/29
#s(literal 4/29 binary64)
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
-4096
#s(literal -4096 binary64)
(- (* -1 (pow x 3)) 4096)
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(- (* -1 (pow x 3)) 4096)
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(- (* -1 (pow x 3)) 4096)
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
4/29
#s(literal 4/29 binary64)
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
-16
#s(literal -16 binary64)
(- x 16)
(-.f64 x #s(literal 16 binary64))
(- x 16)
(-.f64 x #s(literal 16 binary64))
(- x 16)
(-.f64 x #s(literal 16 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* -116 (pow x 2))
(*.f64 (*.f64 x x) #s(literal -116 binary64))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(*.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x)
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* -1 (pow x 3))
(pow.f64 (neg.f64 x) #s(literal 3 binary64))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
x
(* x (- 1 (* 16 (/ 1 x))))
(-.f64 x #s(literal 16 binary64))
(* x (- 1 (* 16 (/ 1 x))))
(-.f64 x #s(literal 16 binary64))
(* x (- 1 (* 16 (/ 1 x))))
(-.f64 x #s(literal 16 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* -116 (pow x 2))
(*.f64 (*.f64 x x) #s(literal -116 binary64))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(*.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x)
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* -1 (pow x 3))
(pow.f64 (neg.f64 x) #s(literal 3 binary64))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
x
(* -1 (* x (- (* 16 (/ 1 x)) 1)))
(-.f64 x #s(literal 16 binary64))
(* -1 (* x (- (* 16 (/ 1 x)) 1)))
(-.f64 x #s(literal 16 binary64))
(* -1 (* x (- (* 16 (/ 1 x)) 1)))
(-.f64 x #s(literal 16 binary64))

rewrite183.0ms (4.3%)

Memory
39.4MiB live, 150.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02156
03066
113566
291544
0855143
Stop Event
iter limit
node limit
iter limit
Counts
9 → 798
Calls
Call 1
Inputs
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
(*.f64 x #s(literal 1/116 binary64))
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(pow.f64 x #s(literal 3 binary64))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(-.f64 x #s(literal 16 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval233.0ms (5.5%)

Memory
-26.3MiB live, 163.1MiB allocated
Compiler

Compiled 21 262 to 1 764 computations (91.7% saved)

prune64.0ms (1.5%)

Memory
-0.1MiB live, 48.5MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New9031904
Fresh000
Picked134
Done011
Total9045909
Accuracy
100.0%
Counts
909 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
67.9%
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
100.0%
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
49.3%
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
52.2%
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
Compiler

Compiled 31 to 28 computations (9.7% saved)

simplify187.0ms (4.4%)

Memory
25.7MiB live, 63.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 x)
cost-diff0
(*.f64 (neg.f64 x) x)
cost-diff0
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
cost-diff128
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01251
02151
14651
27447
313247
421347
526947
642647
771647
8125047
9188447
10243047
11375147
12396447
13400347
14401647
15402247
16402647
17421547
18430747
19431147
20431147
21431147
0431145
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
(fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64))
(*.f64 (neg.f64 x) x)
(neg.f64 x)
x
#s(literal -4096 binary64)
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
#s(literal -116 binary64)
(fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))
(-.f64 x #s(literal 16 binary64))
#s(literal 16 binary64)
#s(literal 256 binary64)
Outputs
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
(fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (neg.f64 x) x)
(neg.f64 x)
x
#s(literal -4096 binary64)
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
#s(literal -116 binary64)
(fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))
(fma.f64 (-.f64 x #s(literal 16 binary64)) x #s(literal 256 binary64))
(-.f64 x #s(literal 16 binary64))
#s(literal 16 binary64)
#s(literal 256 binary64)

localize66.0ms (1.6%)

Memory
-3.3MiB live, 35.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(neg.f64 x)
accuracy0.0390625
(fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64))
accuracy0.1015625
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
accuracy20.088269536428523
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
Samples
57.0ms256×0valid
Compiler

Compiled 109 to 28 computations (74.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 43.0ms
ival-add: 32.0ms (73.8% of total)
ival-mult: 6.0ms (13.8% of total)
ival-div: 2.0ms (4.6% of total)
ival-sub: 1.0ms (2.3% of total)
ival-neg: 1.0ms (2.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.1%)

Memory
7.0MiB live, 7.0MiB allocated
Counts
5 → 60
Calls
Call 1
Inputs
#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())
#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())
#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())
Outputs
#s(alt -29696 (taylor 0 x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* 1856 x) 29696) (taylor 0 x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1856 (* -116 x))) 29696) (taylor 0 x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1856 (* -116 x))) 29696) (taylor 0 x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt 4/29 (taylor 0 x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt -4096 (taylor 0 x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (pow x 3)) 4096) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (pow x 3)) 4096) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (pow x 3)) 4096) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -116 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) 116)) (taylor inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 3)) (taylor inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -116 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) 116)) (taylor -inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116)) (taylor -inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116)) (taylor -inf x) (#s(alt (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) (patch (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 3)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((* -116 (+ (* x (- x 16)) 256)) (/ (+ (* (* (neg x) x) x) -4096) (* -116 (+ (* x (- x 16)) 256))) (* (neg x) x) (neg x) (+ (* (* (neg x) x) x) -4096))
1.0ms
x
@-inf
((* -116 (+ (* x (- x 16)) 256)) (/ (+ (* (* (neg x) x) x) -4096) (* -116 (+ (* x (- x 16)) 256))) (* (neg x) x) (neg x) (+ (* (* (neg x) x) x) -4096))
1.0ms
x
@0
((* -116 (+ (* x (- x 16)) 256)) (/ (+ (* (* (neg x) x) x) -4096) (* -116 (+ (* x (- x 16)) 256))) (* (neg x) x) (neg x) (+ (* (* (neg x) x) x) -4096))

simplify221.0ms (5.2%)

Memory
-2.2MiB live, 82.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051275
1129275
2314266
3869262
42402262
54169262
67024262
08114238
Stop Event
iter limit
node limit
Counts
60 → 60
Calls
Call 1
Inputs
-29696
(- (* 1856 x) 29696)
(- (* x (+ 1856 (* -116 x))) 29696)
(- (* x (+ 1856 (* -116 x))) 29696)
4/29
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
-4096
(- (* -1 (pow x 3)) 4096)
(- (* -1 (pow x 3)) 4096)
(- (* -1 (pow x 3)) 4096)
(* -116 (pow x 2))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 (pow x 3))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -116 (pow x 2))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 (pow x 3))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
Outputs
-29696
#s(literal -29696 binary64)
(- (* 1856 x) 29696)
(fma.f64 x #s(literal 1856 binary64) #s(literal -29696 binary64))
(- (* x (+ 1856 (* -116 x))) 29696)
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(- (* x (+ 1856 (* -116 x))) 29696)
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
4/29
#s(literal 4/29 binary64)
(+ 4/29 (* 1/116 x))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
-4096
#s(literal -4096 binary64)
(- (* -1 (pow x 3)) 4096)
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(- (* -1 (pow x 3)) 4096)
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(- (* -1 (pow x 3)) 4096)
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -116 (pow x 2))
(*.f64 (*.f64 x x) #s(literal -116 binary64))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(*.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x)
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* 1/116 x)
(*.f64 #s(literal 1/116 binary64) x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 (pow x 3))
(pow.f64 (neg.f64 x) #s(literal 3 binary64))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -116 (pow x 2))
(*.f64 (*.f64 x x) #s(literal -116 binary64))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(*.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x)
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* 1/116 x)
(*.f64 #s(literal 1/116 binary64) x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 #s(literal 1/116 binary64) x #s(literal 4/29 binary64))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 (pow x 3))
(pow.f64 (neg.f64 x) #s(literal 3 binary64))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))

rewrite280.0ms (6.6%)

Memory
-22.7MiB live, 138.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01237
02137
19435
259633
3685033
0811631
Stop Event
iter limit
node limit
iter limit
Counts
5 → 383
Calls
Call 1
Inputs
(*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64)))
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
(*.f64 (neg.f64 x) x)
(neg.f64 x)
(fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval217.0ms (5.1%)

Memory
10.7MiB live, 121.9MiB allocated
Compiler

Compiled 10 615 to 1 130 computations (89.4% saved)

prune13.0ms (0.3%)

Memory
-7.6MiB live, 37.6MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New4421443
Fresh000
Picked101
Done044
Total4435448
Accuracy
100.0%
Counts
448 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
67.9%
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
100.0%
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
49.3%
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
52.2%
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
Compiler

Compiled 30 to 27 computations (10% saved)

simplify57.0ms (1.4%)

Memory
17.7MiB live, 56.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))
cost-diff0
(neg.f64 x)
cost-diff0
(*.f64 (neg.f64 x) x)
cost-diff0
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01144
02044
13444
25340
39840
411640
514040
620440
730540
847240
970640
1095740
11136840
12204940
13209340
14212440
15212740
16212740
0212740
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
(fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64))
(*.f64 (neg.f64 x) x)
(neg.f64 x)
x
#s(literal -4096 binary64)
(fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64))
#s(literal -116 binary64)
#s(literal 1856 binary64)
#s(literal -29696 binary64)
Outputs
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
(fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (neg.f64 x) x)
(neg.f64 x)
x
#s(literal -4096 binary64)
(fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64))
(fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64))
#s(literal -116 binary64)
#s(literal 1856 binary64)
#s(literal -29696 binary64)

localize40.0ms (0.9%)

Memory
-22.2MiB live, 53.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(neg.f64 x)
accuracy0.0390625
(fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64))
accuracy0.05859375
(fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))
accuracy20.088269536428523
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
Samples
22.0ms254×0valid
0.0ms1valid
Compiler

Compiled 97 to 27 computations (72.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 6.0ms (40.4% of total)
ival-add: 5.0ms (33.7% of total)
ival-div: 2.0ms (13.5% of total)
ival-neg: 1.0ms (6.7% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.2%)

Memory
10.8MiB live, 10.8MiB allocated
Counts
5 → 60
Calls
Call 1
Inputs
#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())
Outputs
#s(alt 4/29 (taylor 0 x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 4/29 (* 1/116 x)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt -29696 (taylor 0 x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* 1856 x) 29696) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1856 (* -116 x))) 29696) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1856 (* -116 x))) 29696) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt -4096 (taylor 0 x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (pow x 3)) 4096) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (pow x 3)) 4096) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (pow x 3)) 4096) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -116 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) 116)) (taylor inf x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 3)) (taylor inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/116 x) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/116 (* 4/29 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) (patch (/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (neg.f64 x) x) (patch (*.f64 (neg.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -116 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1856 (/ 1 x)) 116)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) (patch (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 3)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3)))))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (patch (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@inf
((/ (+ (* (* (neg x) x) x) -4096) (+ (* (+ (* x -116) 1856) x) -29696)) (* (neg x) x) (neg x) (+ (* (+ (* x -116) 1856) x) -29696) (+ (* (* (neg x) x) x) -4096))
1.0ms
x
@-inf
((/ (+ (* (* (neg x) x) x) -4096) (+ (* (+ (* x -116) 1856) x) -29696)) (* (neg x) x) (neg x) (+ (* (+ (* x -116) 1856) x) -29696) (+ (* (* (neg x) x) x) -4096))
1.0ms
x
@0
((/ (+ (* (* (neg x) x) x) -4096) (+ (* (+ (* x -116) 1856) x) -29696)) (* (neg x) x) (neg x) (+ (* (+ (* x -116) 1856) x) -29696) (+ (* (* (neg x) x) x) -4096))

simplify178.0ms (4.2%)

Memory
15.3MiB live, 161.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051275
1129275
2314266
3870262
42385262
54147262
67006262
08122238
Stop Event
iter limit
node limit
Counts
60 → 60
Calls
Call 1
Inputs
4/29
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(+ 4/29 (* 1/116 x))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
-29696
(- (* 1856 x) 29696)
(- (* x (+ 1856 (* -116 x))) 29696)
(- (* x (+ 1856 (* -116 x))) 29696)
-4096
(- (* -1 (pow x 3)) 4096)
(- (* -1 (pow x 3)) 4096)
(- (* -1 (pow x 3)) 4096)
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -116 (pow x 2))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(* -1 (pow x 3))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* 1/116 x)
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -116 (pow x 2))
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(* -1 (pow x 3))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
Outputs
4/29
#s(literal 4/29 binary64)
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(+ 4/29 (* 1/116 x))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
-29696
#s(literal -29696 binary64)
(- (* 1856 x) 29696)
(fma.f64 #s(literal 1856 binary64) x #s(literal -29696 binary64))
(- (* x (+ 1856 (* -116 x))) 29696)
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(- (* x (+ 1856 (* -116 x))) 29696)
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
-4096
#s(literal -4096 binary64)
(- (* -1 (pow x 3)) 4096)
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(- (* -1 (pow x 3)) 4096)
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(- (* -1 (pow x 3)) 4096)
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -116 (pow x 2))
(*.f64 (*.f64 #s(literal -116 binary64) x) x)
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(*.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x)
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* (pow x 2) (- (* 1856 (/ 1 x)) (+ 116 (/ 29696 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* -1 (pow x 3))
(pow.f64 (neg.f64 x) #s(literal 3 binary64))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* 1/116 x)
(*.f64 x #s(literal 1/116 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* x (+ 1/116 (* 4/29 (/ 1 x))))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -116 (pow x 2))
(*.f64 (*.f64 #s(literal -116 binary64) x) x)
(* (pow x 2) (- (* 1856 (/ 1 x)) 116))
(*.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x)
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* (pow x 2) (- (* -1 (/ (- (* 29696 (/ 1 x)) 1856) x)) 116))
(fma.f64 (fma.f64 #s(literal -116 binary64) x #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(* -1 (pow x 3))
(pow.f64 (neg.f64 x) #s(literal 3 binary64))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (pow x 3) (+ 1 (* 4096 (/ 1 (pow x 3))))))
(-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64)))

rewrite199.0ms (4.7%)

Memory
-6.7MiB live, 219.8MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01135
02035
18535
256131
3658231
0821031
Stop Event
iter limit
node limit
iter limit
Counts
5 → 374
Calls
Call 1
Inputs
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
(*.f64 (neg.f64 x) x)
(neg.f64 x)
(fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64))
(fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval51.0ms (1.2%)

Memory
9.8MiB live, 120.9MiB allocated
Compiler

Compiled 11 377 to 1 164 computations (89.8% saved)

prune13.0ms (0.3%)

Memory
-13.6MiB live, 32.9MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New4340434
Fresh000
Picked011
Done044
Total4345439
Accuracy
100.0%
Counts
439 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
67.9%
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
100.0%
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
49.3%
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
52.2%
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
Compiler

Compiled 90 to 57 computations (36.7% saved)

regimes39.0ms (0.9%)

Memory
-21.9MiB live, 16.6MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (fma.f64 (fma.f64 x #s(literal -116 binary64) #s(literal 1856 binary64)) x #s(literal -29696 binary64)))
(/.f64 (fma.f64 (*.f64 (neg.f64 x) x) x #s(literal -4096 binary64)) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
(/.f64 (-.f64 #s(literal -4096 binary64) (pow.f64 x #s(literal 3 binary64))) (*.f64 #s(literal -116 binary64) (fma.f64 x (-.f64 x #s(literal 16 binary64)) #s(literal 256 binary64))))
Outputs
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
Calls

3 calls:

33.0ms
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
3.0ms
x
3.0ms
(+.f64 x #s(literal 16 binary64))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
100.0%1(+.f64 x #s(literal 16 binary64))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes6.0ms (0.1%)

Memory
11.6MiB live, 11.6MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
Outputs
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
Calls

3 calls:

2.0ms
x
2.0ms
(+.f64 x #s(literal 16 binary64))
2.0ms
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
100.0%1(+.f64 x #s(literal 16 binary64))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes5.0ms (0.1%)

Memory
10.4MiB live, 10.4MiB allocated
Counts
2 → 3
Calls
Call 1
Inputs
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
Outputs
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
#s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))
Calls

3 calls:

1.0ms
x
1.0ms
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
1.0ms
(+.f64 x #s(literal 16 binary64))
Results
AccuracySegmentsBranch
97.9%3x
97.9%3(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
97.9%3(+.f64 x #s(literal 16 binary64))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes4.0ms (0.1%)

Memory
9.2MiB live, 9.2MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
Outputs
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
Calls

3 calls:

1.0ms
x
1.0ms
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
1.0ms
(+.f64 x #s(literal 16 binary64))
Results
AccuracySegmentsBranch
52.2%1x
52.2%1(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
52.2%1(+.f64 x #s(literal 16 binary64))
Compiler

Compiled 9 to 9 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
26.353335961048835
12418273838.260565
0.0ms
-10818649.105307722
15.999999998509217
Compiler

Compiled 8 to 9 computations (-12.5% saved)

simplify31.0ms (0.7%)

Memory
-5.1MiB live, 69.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01953
12153
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(if (<=.f64 (+.f64 x #s(literal 16 binary64)) #s(literal -10000000 binary64)) #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (if (<=.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 50 binary64)) #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))))
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))
Outputs
(/.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 116 binary64))
(/.f64 (+.f64 #s(literal 16 binary64) x) #s(literal 116 binary64))
(fma.f64 x #s(literal 1/116 binary64) #s(literal 4/29 binary64))
(if (<=.f64 (+.f64 x #s(literal 16 binary64)) #s(literal -10000000 binary64)) #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64))) (if (<=.f64 (+.f64 x #s(literal 16 binary64)) #s(literal 50 binary64)) #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #s(approx (/ (+ x 16) 116) (*.f64 x #s(literal 1/116 binary64)))))
(if (<=.f64 (+.f64 #s(literal 16 binary64) x) #s(literal -10000000 binary64)) #s(approx (/ (+ x 16) 116) (*.f64 #s(literal 1/116 binary64) x)) (if (<=.f64 (+.f64 #s(literal 16 binary64) x) #s(literal 50 binary64)) #s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64)) #s(approx (/ (+ x 16) 116) (*.f64 #s(literal 1/116 binary64) x))))
#s(approx (/ (+ x 16) 116) #s(literal 4/29 binary64))

soundness115.0ms (2.7%)

Memory
-1.7MiB live, 83.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
078
1338
21778
314408
084047
01582
14182
26782
314082
414082
514382
614882
714882
014873
Stop Event
done
iter limit
saturated
iter limit
node limit
iter limit
Compiler

Compiled 47 to 32 computations (31.9% saved)

preprocess121.0ms (2.9%)

Memory
-8.7MiB live, 67.7MiB allocated
Compiler

Compiled 76 to 44 computations (42.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...