exp2 (problem 3.3.7)

Time bar (total: 3.4s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 10 to 8 computations (20% saved)

sample2.1s (62.1%)

Results
1.2s2161×body2048valid
352.0ms1030×body1024valid
350.0ms4093×body256infinite
77.0ms507×body512valid
43.0ms465×body256valid
Bogosity

preprocess71.0ms (2.1%)

Algorithm
egg-herbie
Rules
2168×fma-def
1112×distribute-lft-neg-in
846×associate-/r/
734×div-sub
696×associate-*r/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01450
13650
27450
313650
430050
579450
6261450
7587350
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (-.f64 (exp.f64 (neg.f64 x)) 2) (exp.f64 (neg.f64 (neg.f64 x))))
Outputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (neg.f64 x)) (-.f64 2 (exp.f64 x)))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(+.f64 (-.f64 (exp.f64 (neg.f64 x)) 2) (exp.f64 (neg.f64 (neg.f64 x))))
(+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (neg.f64 x)) (-.f64 2 (exp.f64 x)))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
Symmetry

(abs x)

Compiler

Compiled 10 to 8 computations (20% saved)

simplify65.0ms (1.9%)

Algorithm
egg-herbie
Rules
2232×fma-def
1096×unswap-sqr
1072×div-sub
886×associate-/r*
722×associate-/l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
12225
23825
36225
412525
527525
671225
7174825
8316925
9708725
Stop Event
node limit
Counts
1 → 4
Calls
Call 1
Inputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Outputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x))))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))

eval1.0ms (0%)

Compiler

Compiled 33 to 16 computations (51.5% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New314
Fresh011
Picked000
Done000
Total325
Accurracy
78.8%
Counts
5 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 18 to 14 computations (22.2% saved)

localize71.0ms (2.1%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(-.f64 (exp.f64 x) 2)
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 23 to 11 computations (52.2% saved)

series1.0ms (0%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
0.0ms
x
@-inf
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
0.0ms
x
@inf
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
0.0ms
x
@0
(-.f64 (exp.f64 x) 2)
0.0ms
x
@-inf
(-.f64 (exp.f64 x) 2)

rewrite71.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1072×prod-diff
1044×unpow-prod-down
804×log-prod
690×fma-def
506×pow-prod-down
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01050
122150
2310250
Stop Event
node limit
Counts
2 → 66
Calls
Call 1
Inputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) 2)
Outputs
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
27
64
512
x
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
27
64
512
x

simplify50.0ms (1.5%)

Algorithm
egg-herbie
Rules
1496×unswap-sqr
1482×distribute-lft-out
1180×distribute-rgt-out
1172×fma-def
1102×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069454
1130442
2261442
3776432
43572432
Stop Event
node limit
Counts
82 → 67
Calls
Call 1
Inputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
-1
(-.f64 x 1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 x 2)) x) 1)
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) x)) 1)
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
27
64
512
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
27
64
512
Outputs
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(fma.f64 1/360 (pow.f64 x 6) (+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))))
(fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x (*.f64 1/12 (pow.f64 x 4))))
(fma.f64 1/12 (pow.f64 x 4) (fma.f64 x x (*.f64 1/360 (pow.f64 x 6))))
(fma.f64 x x (fma.f64 1/12 (pow.f64 x 4) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))))
(fma.f64 1/360 (pow.f64 x 6) (+.f64 (*.f64 x x) (fma.f64 1/12 (pow.f64 x 4) (*.f64 1/20160 (pow.f64 x 8)))))
(fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x (fma.f64 1/12 (pow.f64 x 4) (*.f64 1/20160 (pow.f64 x 8)))))
(fma.f64 x x (fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/12 (pow.f64 x 4) (*.f64 1/20160 (pow.f64 x 8)))))
(fma.f64 1/20160 (pow.f64 x 8) (fma.f64 1/12 (pow.f64 x 4) (fma.f64 x x (*.f64 1/360 (pow.f64 x 6)))))
(fma.f64 x x (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (*.f64 1/20160 (pow.f64 x 8)))))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(+.f64 (exp.f64 x) (-.f64 (exp.f64 (neg.f64 x)) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(+.f64 (exp.f64 x) (-.f64 (exp.f64 (neg.f64 x)) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(+.f64 (exp.f64 x) (-.f64 (exp.f64 (neg.f64 x)) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(+.f64 (exp.f64 x) (-.f64 (exp.f64 (neg.f64 x)) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (exp.f64 x) (-.f64 (exp.f64 (neg.f64 x)) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (exp.f64 x) (-.f64 (exp.f64 (neg.f64 x)) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (exp.f64 x) (-.f64 (exp.f64 (neg.f64 x)) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (exp.f64 x) (-.f64 (exp.f64 (neg.f64 x)) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
-1
(-.f64 x 1)
(+.f64 x -1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 x 2)) x) 1)
(+.f64 (fma.f64 1/2 (*.f64 x x) x) -1)
(+.f64 -1 (fma.f64 (*.f64 x x) 1/2 x))
(+.f64 x (fma.f64 x (*.f64 x 1/2) -1))
(fma.f64 (fma.f64 x 1/2 1) x -1)
(fma.f64 x (fma.f64 x 1/2 1) -1)
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) x)) 1)
(+.f64 (fma.f64 1/6 (pow.f64 x 3) (fma.f64 1/2 (*.f64 x x) x)) -1)
(+.f64 -1 (fma.f64 1/6 (pow.f64 x 3) (fma.f64 (*.f64 x x) 1/2 x)))
(+.f64 (fma.f64 x (*.f64 x 1/2) x) (fma.f64 1/6 (pow.f64 x 3) -1))
(+.f64 x (fma.f64 (*.f64 x x) (fma.f64 x 1/6 1/2) -1))
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
27
64
512
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
27
64
512

eval41.0ms (1.2%)

Compiler

Compiled 461 to 297 computations (35.6% saved)

prune12.0ms (0.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New61667
Fresh000
Picked011
Done000
Total61768
Accurracy
100.0%
Counts
68 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
87.5%
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
76.0%
(*.f64 x x)
3.7%
512
3.7%
1/2
3.7%
1/9
26.0%
0
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
87.5%
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
76.0%
(*.f64 x x)
3.7%
512
3.7%
1/2
3.7%
1/9
26.0%
0
Compiler

Compiled 62 to 48 computations (22.6% saved)

localize36.0ms (1.1%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
99.9%
(*.f64 1/12 (pow.f64 x 4))
Compiler

Compiled 29 to 16 computations (44.8% saved)

series2.0ms (0.1%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 1/12 (pow.f64 x 4))
0.0ms
x
@inf
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
0.0ms
x
@inf
(*.f64 1/12 (pow.f64 x 4))
0.0ms
x
@-inf
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
0.0ms
x
@0
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))

rewrite66.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1812×pow1
1696×add-exp-log
1696×log1p-expm1-u
1696×expm1-log1p-u
1662×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0934
119934
2243134
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
Outputs
(-.f64 (+.f64 1 (*.f64 1/12 (pow.f64 x 4))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 x 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 x 4))) 3)
(pow.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) 1/3)
(pow.f64 (*.f64 (*.f64 x x) (sqrt.f64 1/12)) 2)
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 4)) 1/12))
(cbrt.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 x 4))))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 x 4))))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 x 4))))
(-.f64 (+.f64 1 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 1)
(-.f64 (/.f64 (pow.f64 x 4) (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))) (/.f64 (*.f64 (pow.f64 x 8) 1/144) (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))))
(*.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(*.f64 (hypot.f64 x (*.f64 (*.f64 x x) (sqrt.f64 1/12))) (hypot.f64 x (*.f64 (*.f64 x x) (sqrt.f64 1/12))))
(*.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12)))))
(*.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (/.f64 1 (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12))) (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))) (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6)) (+.f64 (*.f64 (pow.f64 x 8) 1/144) (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 6) 1/12))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6))) (neg.f64 (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144))) (neg.f64 (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))))
(/.f64 (-.f64 (*.f64 (pow.f64 x 8) 1/144) (pow.f64 x 4)) (-.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 x x)))
(pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 3) 1/3)
(pow.f64 (hypot.f64 x (*.f64 (*.f64 x x) (sqrt.f64 1/12))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 (pow.f64 x 4) 1/12 (*.f64 x x))
(fma.f64 1 (*.f64 1/12 (pow.f64 x 4)) (*.f64 x x))
(fma.f64 1 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 x 4))) (*.f64 x x))
(fma.f64 (*.f64 (*.f64 x x) (sqrt.f64 1/12)) (*.f64 (*.f64 x x) (sqrt.f64 1/12)) (*.f64 x x))

simplify65.0ms (2%)

Algorithm
egg-herbie
Rules
1280×div-sub
998×fma-def
980×log-prod
880×times-frac
796×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01121644
12771550
210361506
362081506
Stop Event
node limit
Counts
58 → 57
Calls
Call 1
Inputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(-.f64 (+.f64 1 (*.f64 1/12 (pow.f64 x 4))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 x 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 x 4))) 3)
(pow.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) 1/3)
(pow.f64 (*.f64 (*.f64 x x) (sqrt.f64 1/12)) 2)
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 4)) 1/12))
(cbrt.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 x 4))))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 x 4))))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 x 4))))
(-.f64 (+.f64 1 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 1)
(-.f64 (/.f64 (pow.f64 x 4) (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))) (/.f64 (*.f64 (pow.f64 x 8) 1/144) (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))))
(*.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(*.f64 (hypot.f64 x (*.f64 (*.f64 x x) (sqrt.f64 1/12))) (hypot.f64 x (*.f64 (*.f64 x x) (sqrt.f64 1/12))))
(*.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12)))))
(*.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (/.f64 1 (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12))) (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))) (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6)) (+.f64 (*.f64 (pow.f64 x 8) 1/144) (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 6) 1/12))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6))) (neg.f64 (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144))) (neg.f64 (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))))
(/.f64 (-.f64 (*.f64 (pow.f64 x 8) 1/144) (pow.f64 x 4)) (-.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 x x)))
(pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 3) 1/3)
(pow.f64 (hypot.f64 x (*.f64 (*.f64 x x) (sqrt.f64 1/12))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 (pow.f64 x 4) 1/12 (*.f64 x x))
(fma.f64 1 (*.f64 1/12 (pow.f64 x 4)) (*.f64 x x))
(fma.f64 1 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 x 4))) (*.f64 x x))
(fma.f64 (*.f64 (*.f64 x x) (sqrt.f64 1/12)) (*.f64 (*.f64 x x) (sqrt.f64 1/12)) (*.f64 x x))
Outputs
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(-.f64 (+.f64 1 (*.f64 1/12 (pow.f64 x 4))) 1)
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 (*.f64 1/12 (pow.f64 x 4)) 1)
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 x 4))) 3)
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) 1/3)
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 (*.f64 (*.f64 x x) (sqrt.f64 1/12)) 2)
(*.f64 1/12 (pow.f64 x 4))
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
(*.f64 1/12 (pow.f64 x 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 4)) 1/12))
(*.f64 1/12 (pow.f64 x 4))
(cbrt.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3))
(*.f64 1/12 (pow.f64 x 4))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 x 4))))
(*.f64 1/12 (pow.f64 x 4))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 x 4))))
(*.f64 1/12 (pow.f64 x 4))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 x 4))))
(*.f64 1/12 (pow.f64 x 4))
(-.f64 (+.f64 1 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 1)
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(-.f64 (/.f64 (pow.f64 x 4) (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))) (/.f64 (*.f64 (pow.f64 x 8) 1/144) (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (+.f64 (*.f64 x x) (*.f64 -1/12 (pow.f64 x 4))))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) -1/144)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 x 8) -1/144 (pow.f64 x 4)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(*.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 1)
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(*.f64 1 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 2))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(*.f64 (hypot.f64 x (*.f64 (*.f64 x x) (sqrt.f64 1/12))) (hypot.f64 x (*.f64 (*.f64 x x) (sqrt.f64 1/12))))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(*.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12)))))
(/.f64 (*.f64 (+.f64 (*.f64 1/1728 (pow.f64 (pow.f64 x 4) 3)) (pow.f64 x 6)) 1) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 1/12 (pow.f64 x 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 x 4) 3) (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 (pow.f64 x 8) 1/144 (*.f64 (pow.f64 x 6) -1/12))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 x x) 6) (pow.f64 x 6)) (fma.f64 (pow.f64 x 8) 1/144 (fma.f64 (pow.f64 x 6) -1/12 (pow.f64 x 4))))
(*.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (/.f64 1 (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (+.f64 (*.f64 x x) (*.f64 -1/12 (pow.f64 x 4))))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) -1/144)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 x 8) -1/144 (pow.f64 x 4)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12))) (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6))))
(/.f64 (*.f64 (+.f64 (*.f64 1/1728 (pow.f64 (pow.f64 x 4) 3)) (pow.f64 x 6)) 1) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 1/12 (pow.f64 x 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 x 4) 3) (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 (pow.f64 x 8) 1/144 (*.f64 (pow.f64 x 6) -1/12))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 x x) 6) (pow.f64 x 6)) (fma.f64 (pow.f64 x 8) 1/144 (fma.f64 (pow.f64 x 6) -1/12 (pow.f64 x 4))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))) (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (+.f64 (*.f64 x x) (*.f64 -1/12 (pow.f64 x 4))))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) -1/144)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 x 8) -1/144 (pow.f64 x 4)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12))))
(/.f64 (*.f64 (+.f64 (*.f64 1/1728 (pow.f64 (pow.f64 x 4) 3)) (pow.f64 x 6)) 1) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 1/12 (pow.f64 x 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 x 4) 3) (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 (pow.f64 x 8) 1/144 (*.f64 (pow.f64 x 6) -1/12))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 x x) 6) (pow.f64 x 6)) (fma.f64 (pow.f64 x 8) 1/144 (fma.f64 (pow.f64 x 6) -1/12 (pow.f64 x 4))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6)) (+.f64 (*.f64 (pow.f64 x 8) 1/144) (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 6) 1/12))))
(/.f64 (*.f64 (+.f64 (*.f64 1/1728 (pow.f64 (pow.f64 x 4) 3)) (pow.f64 x 6)) 1) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 1/12 (pow.f64 x 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 x 4) 3) (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 (pow.f64 x 8) 1/144 (*.f64 (pow.f64 x 6) -1/12))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 x x) 6) (pow.f64 x 6)) (fma.f64 (pow.f64 x 8) 1/144 (fma.f64 (pow.f64 x 6) -1/12 (pow.f64 x 4))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (+.f64 (*.f64 x x) (*.f64 -1/12 (pow.f64 x 4))))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) -1/144)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 x 8) -1/144 (pow.f64 x 4)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 x 4)) 3) (pow.f64 x 6))) (neg.f64 (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 (pow.f64 x 6) 1/12)))))
(/.f64 (*.f64 (+.f64 (*.f64 1/1728 (pow.f64 (pow.f64 x 4) 3)) (pow.f64 x 6)) 1) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 x 8) 1/144) (*.f64 1/12 (pow.f64 x 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 x 4) 3) (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 (pow.f64 x 8) 1/144 (*.f64 (pow.f64 x 6) -1/12))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 x x) 6) (pow.f64 x 6)) (fma.f64 (pow.f64 x 8) 1/144 (fma.f64 (pow.f64 x 6) -1/12 (pow.f64 x 4))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144))) (neg.f64 (-.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (+.f64 (*.f64 x x) (*.f64 -1/12 (pow.f64 x 4))))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) -1/144)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 x 8) -1/144 (pow.f64 x 4)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 8) 1/144) (pow.f64 x 4)) (-.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 1/144)) (+.f64 (*.f64 x x) (*.f64 -1/12 (pow.f64 x 4))))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 8) -1/144)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 x 8) -1/144 (pow.f64 x 4)) (fma.f64 x x (*.f64 (pow.f64 x 4) -1/12)))
(pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 1)
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))) 3)
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 3) 1/3)
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(pow.f64 (hypot.f64 x (*.f64 (*.f64 x x) (sqrt.f64 1/12))) 2)
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 2))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x)) 3))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(fma.f64 (pow.f64 x 4) 1/12 (*.f64 x x))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(fma.f64 1 (*.f64 1/12 (pow.f64 x 4)) (*.f64 x x))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(fma.f64 1 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 x 4))) (*.f64 x x))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))
(fma.f64 (*.f64 (*.f64 x x) (sqrt.f64 1/12)) (*.f64 (*.f64 x x) (sqrt.f64 1/12)) (*.f64 x x))
(fma.f64 x x (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 x x))

eval20.0ms (0.6%)

Compiler

Compiled 851 to 585 computations (31.3% saved)

prune18.0ms (0.5%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New56157
Fresh044
Picked022
Done011
Total56864
Accurracy
100.0%
Counts
64 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
87.5%
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
76.0%
(*.f64 x x)
66.3%
(*.f64 1/12 (pow.f64 x 4))
3.7%
512
3.7%
1/2
3.7%
1/9
26.0%
0
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
87.5%
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
76.0%
(*.f64 x x)
66.3%
(*.f64 1/12 (pow.f64 x 4))
3.7%
512
3.7%
1/2
3.7%
1/9
26.0%
0
Compiler

Compiled 74 to 58 computations (21.6% saved)

localize24.0ms (0.7%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.9%
(*.f64 1/12 (pow.f64 x 4))
Compiler

Compiled 13 to 10 computations (23.1% saved)

eval3.0ms (0.1%)

Compiler

Compiled 84 to 72 computations (14.3% saved)

prune8.0ms (0.2%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New10111
Fresh044
Picked011
Done033
Total10919
Accurracy
100.0%
Counts
19 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
87.5%
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
76.0%
(*.f64 x x)
66.3%
(*.f64 1/12 (pow.f64 x 4))
68.8%
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
3.7%
512
3.7%
1/2
3.7%
1/9
26.0%
0
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
87.5%
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
76.0%
(*.f64 x x)
66.3%
(*.f64 1/12 (pow.f64 x 4))
68.8%
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
3.7%
512
3.7%
1/2
3.7%
1/9
26.0%
0
Compiler

Compiled 88 to 70 computations (20.5% saved)

localize36.0ms (1.1%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
99.9%
(*.f64 (pow.f64 x 8) 1/144)
91.7%
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
Compiler

Compiled 19 to 15 computations (21.1% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (pow.f64 x 8) 1/144)
0.0ms
x
@inf
(*.f64 (pow.f64 x 8) 1/144)
0.0ms
x
@0
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
0.0ms
x
@inf
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
0.0ms
x
@-inf
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))

rewrite60.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1518×pow1
1412×add-exp-log
1412×log1p-expm1-u
1412×expm1-log1p-u
1380×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0930
118726
2203126
Stop Event
node limit
Counts
2 → 36
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
(*.f64 (pow.f64 x 8) 1/144)
Outputs
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 4) 1/12)) 1)
(*.f64 (*.f64 (pow.f64 x 4) 1/12) 1)
(*.f64 1 (*.f64 (pow.f64 x 4) 1/12))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) (cbrt.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 1/12)) (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x 4) 1/12)) (sqrt.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 (pow.f64 x 4) 1/12)
(*.f64 (pow.f64 x 4) (pow.f64 1/144 1/2))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 16) 1/20736))) (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144))))
(*.f64 (pow.f64 1/144 1/2) (pow.f64 x 4))
(*.f64 (pow.f64 1 1/2) (*.f64 (pow.f64 x 4) 1/12))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 16) 1/20736)) 1/2) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) 1/2))
(pow.f64 (*.f64 (pow.f64 x 8) 1/144) 1/2)
(pow.f64 (*.f64 (pow.f64 x 4) 1/12) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 1/12)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 4) 1/12) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 x 4) 1/12)) 2)
(fabs.f64 (*.f64 (pow.f64 x 4) 1/12))
(log.f64 (exp.f64 (*.f64 (pow.f64 x 4) 1/12)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 4) 1/12) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 4) 1/12)))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 4) 1/12)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 4) 1/12)))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 8) 1/144)) 1)
(pow.f64 (*.f64 (pow.f64 x 8) 1/144) 1)
(pow.f64 (*.f64 (pow.f64 x 4) 1/12) 2)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) 3)
(pow.f64 (*.f64 (pow.f64 x 16) 1/20736) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 8) 1/144) 3) 1/3)
(sqrt.f64 (*.f64 (pow.f64 x 16) 1/20736))
(log.f64 (pow.f64 (exp.f64 1/144) (pow.f64 x 8)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 8) 1/144) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 8) 1/144)))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 8) 1/144)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 8) 1/144)))

simplify45.0ms (1.3%)

Algorithm
egg-herbie
Rules
1460×fma-def
998×distribute-rgt-in
962×distribute-lft-in
886×unswap-sqr
814×associate-+r+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
080848
1180848
2675848
33002848
Stop Event
node limit
Counts
60 → 38
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 4) 1/12)) 1)
(*.f64 (*.f64 (pow.f64 x 4) 1/12) 1)
(*.f64 1 (*.f64 (pow.f64 x 4) 1/12))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) (cbrt.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 1/12)) (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x 4) 1/12)) (sqrt.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 (pow.f64 x 4) 1/12)
(*.f64 (pow.f64 x 4) (pow.f64 1/144 1/2))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 16) 1/20736))) (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144))))
(*.f64 (pow.f64 1/144 1/2) (pow.f64 x 4))
(*.f64 (pow.f64 1 1/2) (*.f64 (pow.f64 x 4) 1/12))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 16) 1/20736)) 1/2) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) 1/2))
(pow.f64 (*.f64 (pow.f64 x 8) 1/144) 1/2)
(pow.f64 (*.f64 (pow.f64 x 4) 1/12) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 1/12)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 4) 1/12) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 x 4) 1/12)) 2)
(fabs.f64 (*.f64 (pow.f64 x 4) 1/12))
(log.f64 (exp.f64 (*.f64 (pow.f64 x 4) 1/12)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 4) 1/12) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 4) 1/12)))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 4) 1/12)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 4) 1/12)))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 8) 1/144)) 1)
(pow.f64 (*.f64 (pow.f64 x 8) 1/144) 1)
(pow.f64 (*.f64 (pow.f64 x 4) 1/12) 2)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) 3)
(pow.f64 (*.f64 (pow.f64 x 16) 1/20736) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 8) 1/144) 3) 1/3)
(sqrt.f64 (*.f64 (pow.f64 x 16) 1/20736))
(log.f64 (pow.f64 (exp.f64 1/144) (pow.f64 x 8)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 8) 1/144) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 8) 1/144)))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 8) 1/144)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 8) 1/144)))
Outputs
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(*.f64 1/144 (pow.f64 x 8))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 4) 1/12)) 1)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (*.f64 (pow.f64 x 4) 1/12) 1)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1 (*.f64 (pow.f64 x 4) 1/12))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) (cbrt.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 1/12)) (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 x 4) 1/12)) (sqrt.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (pow.f64 x 4) 1/12)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (pow.f64 x 4) (pow.f64 1/144 1/2))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 16) 1/20736))) (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 16) 1/20736))) (sqrt.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 x 8)))))
(*.f64 (pow.f64 1/144 1/2) (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (pow.f64 1 1/2) (*.f64 (pow.f64 x 4) 1/12))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 16) 1/20736)) 1/2) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) 1/2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 16) 1/20736))) (sqrt.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 x 8)))))
(pow.f64 (*.f64 (pow.f64 x 8) 1/144) 1/2)
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 (*.f64 (pow.f64 x 4) 1/12) 1)
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 1/12)) 3)
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 4) 1/12) 3) 1/3)
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 x 4) 1/12)) 2)
(*.f64 1/12 (pow.f64 x 4))
(fabs.f64 (*.f64 (pow.f64 x 4) 1/12))
(*.f64 1/12 (pow.f64 x 4))
(log.f64 (exp.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 1/12 (pow.f64 x 4))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 4) 1/12) 3))
(*.f64 1/12 (pow.f64 x 4))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 1/12 (pow.f64 x 4))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 1/12 (pow.f64 x 4))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 4) 1/12)))
(*.f64 1/12 (pow.f64 x 4))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 8) 1/144)) 1)
(*.f64 1/144 (pow.f64 x 8))
(pow.f64 (*.f64 (pow.f64 x 8) 1/144) 1)
(*.f64 1/144 (pow.f64 x 8))
(pow.f64 (*.f64 (pow.f64 x 4) 1/12) 2)
(*.f64 1/144 (pow.f64 x 8))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 1/144)) 3)
(*.f64 1/144 (pow.f64 x 8))
(pow.f64 (*.f64 (pow.f64 x 16) 1/20736) 1/2)
(*.f64 1/144 (pow.f64 x 8))
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 8) 1/144) 3) 1/3)
(*.f64 1/144 (pow.f64 x 8))
(sqrt.f64 (*.f64 (pow.f64 x 16) 1/20736))
(*.f64 1/144 (pow.f64 x 8))
(log.f64 (pow.f64 (exp.f64 1/144) (pow.f64 x 8)))
(*.f64 1/144 (pow.f64 x 8))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 8) 1/144) 3))
(*.f64 1/144 (pow.f64 x 8))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 8) 1/144)))
(*.f64 1/144 (pow.f64 x 8))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 8) 1/144)))
(*.f64 1/144 (pow.f64 x 8))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 8) 1/144)))
(*.f64 1/144 (pow.f64 x 8))

eval10.0ms (0.3%)

Compiler

Compiled 331 to 287 computations (13.3% saved)

prune10.0ms (0.3%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New38038
Fresh044
Picked011
Done044
Total38947
Accurracy
100.0%
Counts
47 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.8%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
87.5%
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
76.0%
(*.f64 x x)
66.3%
(*.f64 1/12 (pow.f64 x 4))
68.8%
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
3.7%
512
3.7%
1/2
3.7%
1/9
26.0%
0
Compiler

Compiled 80 to 61 computations (23.8% saved)

regimes23.0ms (0.7%)

Counts
9 → 2
Calls
Call 1
Inputs
0
1/9
1/2
512
(*.f64 x x)
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Outputs
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Calls

2 calls:

17.0ms
x
4.0ms
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Results
AccuracySegmentsBranch
100.0%2x
100.0%2(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 47 to 34 computations (27.7% saved)

regimes13.0ms (0.4%)

Counts
8 → 2
Calls
Call 1
Inputs
0
1/9
1/2
512
(*.f64 x x)
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
Outputs
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(sqrt.f64 (*.f64 (pow.f64 x 8) 1/144))
Calls

1 calls:

11.0ms
x
Results
AccuracySegmentsBranch
90.0%2x
Compiler

Compiled 30 to 21 computations (30% saved)

regimes6.0ms (0.2%)

Counts
7 → 1
Calls
Call 1
Inputs
0
1/9
1/2
512
(*.f64 x x)
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
Outputs
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
Calls

1 calls:

5.0ms
x
Results
AccuracySegmentsBranch
87.5%1x
Compiler

Compiled 24 to 16 computations (33.3% saved)

regimes10.0ms (0.3%)

Counts
6 → 2
Calls
Call 1
Inputs
0
1/9
1/2
512
(*.f64 x x)
(*.f64 1/12 (pow.f64 x 4))
Outputs
(*.f64 x x)
(*.f64 1/12 (pow.f64 x 4))
Calls

1 calls:

9.0ms
x
Results
AccuracySegmentsBranch
87.4%2x
Compiler

Compiled 15 to 11 computations (26.7% saved)

regimes5.0ms (0.2%)

Counts
5 → 1
Calls
Call 1
Inputs
0
1/9
1/2
512
(*.f64 x x)
Outputs
(*.f64 x x)
Calls

1 calls:

4.0ms
x
Results
AccuracySegmentsBranch
76.0%1x
Compiler

Compiled 10 to 7 computations (30% saved)

regimes6.0ms (0.2%)

Accuracy

Total -15.1b remaining (-31.8%)

Threshold costs -15.1b (-31.8%)

Counts
4 → 1
Calls
Call 1
Inputs
0
1/9
1/2
512
Outputs
0
Calls

1 calls:

5.0ms
x
Results
AccuracySegmentsBranch
26.0%1x
Compiler

Compiled 7 to 6 computations (14.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.6497914145929826e-13
0.5192609239497918
Compiler

Compiled 13 to 10 computations (23.1% saved)

bsearch4.0ms (0.1%)

Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
4.0ms
8020.538776750408
9288134.710683942
Results
4.0ms32×body256infinite
Compiler

Compiled 51 to 40 computations (21.6% saved)

bsearch11.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
11.0ms
0.7058529229454317
7.2858148307840285
Results
10.0ms96×body256valid
Compiler

Compiled 85 to 64 computations (24.7% saved)

simplify14.0ms (0.4%)

Algorithm
egg-herbie
Rules
10×+-commutative
*-commutative
sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034196
143196
248196
351196
452196
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))) 3961408125713217/19807040628566084398385987584) (+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))) (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(if (<=.f64 x 500000) (+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))) (sqrt.f64 (*.f64 (pow.f64 x 8) 1/144)))
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(if (<=.f64 x 7/2) (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 x x)
0
Outputs
(if (<=.f64 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))) 3961408125713217/19807040628566084398385987584) (+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))) (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(if (<=.f64 x 500000) (+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4))) (sqrt.f64 (*.f64 (pow.f64 x 8) 1/144)))
(+.f64 (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(if (<=.f64 x 7/2) (*.f64 x x) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 x x)
0
Compiler

Compiled 78 to 54 computations (30.8% saved)

soundness307.0ms (9.2%)

Rules
1812×pow1
1696×add-exp-log
1696×log1p-expm1-u
1696×expm1-log1p-u
1662×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069454
1130442
2261442
3776432
43572432
01050
122150
2310250
069454
1130442
2261442
3776432
43572432
0934
119934
2243134
Stop Event
node limit
node limit
node limit
node limit
Compiler

Compiled 117 to 95 computations (18.8% saved)

end0.0ms (0%)

preprocess85.0ms (2.5%)

Remove

(abs x)

Compiler

Compiled 240 to 158 computations (34.2% saved)

Profiling

Loading profile data...