Details

Time bar (total: 2.6s)

analyze169.0ms (6.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
21.9%21.8%78%0.1%0%0%0%8
30.2%29.6%68.6%0.1%1.6%0%0%9
39.8%38.2%57.7%0.1%3.9%0%0%10
48.4%46.4%49.5%0.1%3.9%0%0%11
56.1%52.9%41.3%0.1%5.7%0%0%12
Compiler

Compiled 9 to 6 computations (33.3% saved)

sample1.1s (41.2%)

Results
917.0ms8256×body256valid
92.0ms1043×body256infinite
Bogosity

preprocess17.0ms (0.7%)

Algorithm
egg-herbie
Rules
18×*-commutative
12×associate-/l*
12×associate-/r/
swap-x-y
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01352
12352
23152
33752
43952
033
133
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
0
2
Call 2
Inputs
(/.f64 (*.f64 x y) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 z y) x)
(/.f64 (*.f64 x z) y)
Outputs
(/.f64 (*.f64 x y) z)
(/.f64 x (/.f64 z y))
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(/.f64 x (/.f64 z y))
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 z y) x)
(/.f64 z (/.f64 x y))
(*.f64 (/.f64 z x) y)
(*.f64 y (/.f64 z x))
(/.f64 (*.f64 x z) y)
(/.f64 x (/.f64 y z))
(*.f64 (/.f64 x y) z)
(*.f64 z (/.f64 x y))
(*.f64 x (/.f64 z y))
Symmetry

(sort x y)

Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify12.0ms (0.5%)

Algorithm
egg-herbie
Rules
*-commutative
associate-/l*
associate-/r/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11013
21413
31713
41813
Stop Event
saturated
Counts
1 → 5
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) z)
Outputs
(/.f64 (*.f64 x y) z)
(/.f64 x (/.f64 z y))
(*.f64 (/.f64 x z) y)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))

eval1.0ms (0%)

Compiler

Compiled 28 to 12 computations (57.1% saved)

prune3.0ms (0.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New145
Fresh011
Picked000
Done000
Total156
Accurracy
100.0%
Counts
6 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.1%
(/.f64 (*.f64 x y) z)
90.3%
(/.f64 x (/.f64 z y))
91.4%
(*.f64 (/.f64 x z) y)
90.8%
(*.f64 x (/.f64 y z))
Compiler

Compiled 32 to 20 computations (37.5% saved)

localize5.0ms (0.2%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
91.1%
(*.f64 x (/.f64 y z))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series5.0ms (0.2%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 x (/.f64 y z))
1.0ms
y
@inf
(*.f64 x (/.f64 y z))
1.0ms
x
@0
(*.f64 x (/.f64 y z))
1.0ms
y
@0
(*.f64 x (/.f64 y z))
0.0ms
x
@-inf
(*.f64 x (/.f64 y z))

rewrite57.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1556×pow1
1430×add-exp-log
1430×log1p-expm1-u
1430×expm1-log1p-u
1398×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114513
2191213
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(*.f64 x (/.f64 y z))
Outputs
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(/.f64 x (/.f64 z y))
(/.f64 1 (/.f64 z (*.f64 x y)))
(/.f64 (*.f64 x y) z)
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 y) x) (neg.f64 z))
(/.f64 (/.f64 (*.f64 x y) 1) z)
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 z))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3)
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(log.f64 (pow.f64 (exp.f64 (/.f64 y z)) x))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))

simplify47.0ms (1.8%)

Algorithm
egg-herbie
Rules
1262×log-prod
962×fma-def
788×associate-*r*
750×associate-*l*
530×log-div
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058728
1139728
2519728
33550728
Stop Event
node limit
Counts
56 → 23
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(/.f64 x (/.f64 z y))
(/.f64 1 (/.f64 z (*.f64 x y)))
(/.f64 (*.f64 x y) z)
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 y) x) (neg.f64 z))
(/.f64 (/.f64 (*.f64 x y) 1) z)
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 z))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3)
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(log.f64 (pow.f64 (exp.f64 (/.f64 y z)) x))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 1 (/.f64 z (*.f64 x y)))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 x y) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (neg.f64 y) x) (neg.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 x y) 1) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(log.f64 (pow.f64 (exp.f64 (/.f64 y z)) x))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))

localize5.0ms (0.2%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
91.7%
(*.f64 (/.f64 x z) y)
Compiler

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
z
@inf
(*.f64 (/.f64 x z) y)
0.0ms
x
@inf
(*.f64 (/.f64 x z) y)
0.0ms
x
@0
(*.f64 (/.f64 x z) y)
0.0ms
x
@-inf
(*.f64 (/.f64 x z) y)
0.0ms
z
@-inf
(*.f64 (/.f64 x z) y)

rewrite62.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1558×pow1
1432×add-exp-log
1432×log1p-expm1-u
1432×expm1-log1p-u
1400×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114513
2191513
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (/.f64 x z) y)
Outputs
(-.f64 (+.f64 1 (*.f64 (/.f64 x z) y)) 1)
(/.f64 x (/.f64 z y))
(/.f64 y (/.f64 z x))
(/.f64 1 (/.f64 z (*.f64 x y)))
(/.f64 (*.f64 x y) z)
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 y (neg.f64 x)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 x) y) (neg.f64 z))
(/.f64 (/.f64 (*.f64 x y) 1) z)
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 z))
(pow.f64 (*.f64 (/.f64 x z) y) 1)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 3)
(pow.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 x z) y)) 2)
(sqrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 2))
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 x z) y)))
(exp.f64 (log.f64 (*.f64 (/.f64 x z) y)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 x z) y)))

simplify49.0ms (1.9%)

Algorithm
egg-herbie
Rules
1266×log-prod
962×fma-def
780×associate-*r*
776×associate-*l*
534×log-div
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060741
1139741
2523741
33585741
Stop Event
node limit
Counts
57 → 23
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (*.f64 (/.f64 x z) y)) 1)
(/.f64 x (/.f64 z y))
(/.f64 y (/.f64 z x))
(/.f64 1 (/.f64 z (*.f64 x y)))
(/.f64 (*.f64 x y) z)
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 y (neg.f64 x)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 x) y) (neg.f64 z))
(/.f64 (/.f64 (*.f64 x y) 1) z)
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 z))
(pow.f64 (*.f64 (/.f64 x z) y) 1)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 3)
(pow.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 x z) y)) 2)
(sqrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 2))
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 x z) y)))
(exp.f64 (log.f64 (*.f64 (/.f64 x z) y)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 x z) y)))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(-.f64 (+.f64 1 (*.f64 (/.f64 x z) y)) 1)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 y (/.f64 z x))
(*.f64 y (/.f64 x z))
(/.f64 1 (/.f64 z (*.f64 x y)))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 x y) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y (neg.f64 x)) (neg.f64 z))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 (neg.f64 x) y) (neg.f64 z))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (/.f64 (*.f64 x y) 1) z)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 z))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(pow.f64 (*.f64 (/.f64 x z) y) 1)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 3)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(pow.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3) 1/3)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(pow.f64 (sqrt.f64 (*.f64 (/.f64 x z) y)) 2)
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 2))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z)))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 x z) y)))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(exp.f64 (log.f64 (*.f64 (/.f64 x z) y)))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 x z) y)))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))

localize65.0ms (2.5%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
90.5%
(/.f64 x (/.f64 z y))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 x (/.f64 z y))
0.0ms
y
@-inf
(/.f64 x (/.f64 z y))
0.0ms
z
@-inf
(/.f64 x (/.f64 z y))
0.0ms
y
@inf
(/.f64 x (/.f64 z y))
0.0ms
z
@inf
(/.f64 x (/.f64 z y))

rewrite62.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1754×pow1
1622×add-exp-log
1622×log1p-expm1-u
1622×expm1-log1p-u
1586×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
115113
2216113
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(/.f64 x (/.f64 z y))
Outputs
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 y z)))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 y z)))
(*.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) (sqrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 z) y)))
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 z y)))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 z y)))
(*.f64 (/.f64 (sqrt.f64 x) z) (/.f64 (sqrt.f64 x) (/.f64 1 y)))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) z) (/.f64 (cbrt.f64 x) (/.f64 1 y)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 z y))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 z y))))
(*.f64 (*.f64 (/.f64 x z) 1) y)
(*.f64 (*.f64 (/.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(*.f64 (*.f64 (/.f64 x z) (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 (/.f64 x (neg.f64 z)) (neg.f64 y))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3)
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2)
(pow.f64 (/.f64 z (*.f64 x y)) -1)
(neg.f64 (/.f64 x (/.f64 (neg.f64 z) y)))
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(log.f64 (pow.f64 (exp.f64 x) (/.f64 y z)))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (/.f64 z y) 3)))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))

simplify85.0ms (3.3%)

Algorithm
egg-herbie
Rules
1340×fma-def
1338×log-div
1172×log-prod
992×associate-*r/
814×associate-*l/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01151159
12971135
210151135
356301103
Stop Event
node limit
Counts
77 → 48
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 y z)))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 y z)))
(*.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) (sqrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 z) y)))
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 z y)))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 z y)))
(*.f64 (/.f64 (sqrt.f64 x) z) (/.f64 (sqrt.f64 x) (/.f64 1 y)))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) z) (/.f64 (cbrt.f64 x) (/.f64 1 y)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 z y))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 z y))))
(*.f64 (*.f64 (/.f64 x z) 1) y)
(*.f64 (*.f64 (/.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(*.f64 (*.f64 (/.f64 x z) (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 (/.f64 x (neg.f64 z)) (neg.f64 y))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3)
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2)
(pow.f64 (/.f64 z (*.f64 x y)) -1)
(neg.f64 (/.f64 x (/.f64 (neg.f64 z) y)))
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(log.f64 (pow.f64 (exp.f64 x) (/.f64 y z)))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (/.f64 z y) 3)))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 y (/.f64 x z))
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 y z)))
(*.f64 y (/.f64 x z))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 y z)))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) (sqrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 z) y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) x)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 z y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 z y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 x) z) (/.f64 (sqrt.f64 x) (/.f64 1 y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y))))
(/.f64 (/.f64 x (cbrt.f64 (/.f64 z y))) (pow.f64 (cbrt.f64 (/.f64 z y)) 2))
(/.f64 x (*.f64 (pow.f64 (cbrt.f64 (/.f64 z y)) 2) (cbrt.f64 (/.f64 z y))))
(/.f64 x (pow.f64 (cbrt.f64 (/.f64 z y)) 3))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y))))
(/.f64 (/.f64 x (sqrt.f64 (/.f64 z y))) (sqrt.f64 (/.f64 z y)))
(/.f64 x (*.f64 (sqrt.f64 (/.f64 z y)) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) z) (/.f64 (cbrt.f64 x) (/.f64 1 y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 z y))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y))))
(/.f64 (/.f64 x (sqrt.f64 (/.f64 z y))) (sqrt.f64 (/.f64 z y)))
(/.f64 x (*.f64 (sqrt.f64 (/.f64 z y)) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 z y))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y))))
(/.f64 (/.f64 x (cbrt.f64 (/.f64 z y))) (pow.f64 (cbrt.f64 (/.f64 z y)) 2))
(/.f64 x (*.f64 (pow.f64 (cbrt.f64 (/.f64 z y)) 2) (cbrt.f64 (/.f64 z y))))
(/.f64 x (pow.f64 (cbrt.f64 (/.f64 z y)) 3))
(*.f64 (*.f64 (/.f64 x z) 1) y)
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 x z) (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (neg.f64 z)) (neg.f64 y))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 y (/.f64 x z))
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3)
(*.f64 y (/.f64 x z))
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3)
(*.f64 y (/.f64 x z))
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2)
(*.f64 y (/.f64 x z))
(pow.f64 (/.f64 z (*.f64 x y)) -1)
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 x (/.f64 (neg.f64 z) y)))
(*.f64 y (/.f64 x z))
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(*.f64 y (/.f64 x z))
(log.f64 (pow.f64 (exp.f64 x) (/.f64 y z)))
(*.f64 y (/.f64 x z))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(*.f64 y (/.f64 x z))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (/.f64 z y) 3)))
(*.f64 y (/.f64 x z))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))

localize6.0ms (0.2%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
91.4%
(/.f64 (*.f64 x y) z)
Compiler

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(/.f64 (*.f64 x y) z)
0.0ms
z
@-inf
(/.f64 (*.f64 x y) z)
0.0ms
x
@inf
(/.f64 (*.f64 x y) z)
0.0ms
x
@-inf
(/.f64 (*.f64 x y) z)
0.0ms
y
@-inf
(/.f64 (*.f64 x y) z)

rewrite58.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
1618×pow1
1492×add-exp-log
1492×log1p-expm1-u
1492×expm1-log1p-u
1460×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114513
2197113
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) z)
Outputs
(-.f64 (+.f64 1 (*.f64 (/.f64 x z) y)) 1)
(*.f64 x (/.f64 1 (/.f64 z y)))
(*.f64 x (*.f64 y (/.f64 1 z)))
(*.f64 y (*.f64 x (/.f64 1 z)))
(*.f64 (*.f64 x y) (/.f64 1 z))
(*.f64 (*.f64 (/.f64 x z) y) 1)
(*.f64 1 (*.f64 (/.f64 x z) y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 (cbrt.f64 (*.f64 x y)) (/.f64 1 z)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 2) (cbrt.f64 (*.f64 (/.f64 x z) y)))
(*.f64 (sqrt.f64 (*.f64 x y)) (*.f64 (sqrt.f64 (*.f64 x y)) (/.f64 1 z)))
(*.f64 (sqrt.f64 (*.f64 (/.f64 x z) y)) (sqrt.f64 (*.f64 (/.f64 x z) y)))
(*.f64 (*.f64 x (neg.f64 y)) (/.f64 1 (neg.f64 z)))
(*.f64 (/.f64 1 z) (*.f64 x y))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z)))
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z)))
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z)))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 z) 2)) (/.f64 (*.f64 x y) (cbrt.f64 z)))
(*.f64 (/.f64 1 (sqrt.f64 z)) (/.f64 (*.f64 x y) (sqrt.f64 z)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) 1) (/.f64 (cbrt.f64 (*.f64 x y)) z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 (*.f64 (/.f64 x z) y)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (sqrt.f64 z)) (/.f64 (cbrt.f64 (*.f64 x y)) (sqrt.f64 z)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 x y)) 1) (/.f64 (sqrt.f64 (*.f64 x y)) z))
(*.f64 (/.f64 (sqrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 z) 2)) (/.f64 (sqrt.f64 (*.f64 x y)) (cbrt.f64 z)))
(pow.f64 (*.f64 (/.f64 x z) y) 1)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 3)
(pow.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 x z) y)) 2)
(pow.f64 (/.f64 (/.f64 z x) y) -1)
(neg.f64 (/.f64 (*.f64 x y) (neg.f64 z)))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 2))
(log.f64 (exp.f64 (*.f64 (/.f64 x z) y)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 x z) y)))
(exp.f64 (log.f64 (*.f64 (/.f64 x z) y)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 x z) y)))

simplify62.0ms (2.4%)

Algorithm
egg-herbie
Rules
1394×log-div
1152×log-prod
1054×fma-def
918×associate-/l*
796×associate-*r/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01111179
12821179
29821179
350911139
Stop Event
node limit
Counts
77 → 45
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (*.f64 (/.f64 x z) y)) 1)
(*.f64 x (/.f64 1 (/.f64 z y)))
(*.f64 x (*.f64 y (/.f64 1 z)))
(*.f64 y (*.f64 x (/.f64 1 z)))
(*.f64 (*.f64 x y) (/.f64 1 z))
(*.f64 (*.f64 (/.f64 x z) y) 1)
(*.f64 1 (*.f64 (/.f64 x z) y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 (cbrt.f64 (*.f64 x y)) (/.f64 1 z)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 2) (cbrt.f64 (*.f64 (/.f64 x z) y)))
(*.f64 (sqrt.f64 (*.f64 x y)) (*.f64 (sqrt.f64 (*.f64 x y)) (/.f64 1 z)))
(*.f64 (sqrt.f64 (*.f64 (/.f64 x z) y)) (sqrt.f64 (*.f64 (/.f64 x z) y)))
(*.f64 (*.f64 x (neg.f64 y)) (/.f64 1 (neg.f64 z)))
(*.f64 (/.f64 1 z) (*.f64 x y))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z)))
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z)))
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z)))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 z) 2)) (/.f64 (*.f64 x y) (cbrt.f64 z)))
(*.f64 (/.f64 1 (sqrt.f64 z)) (/.f64 (*.f64 x y) (sqrt.f64 z)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) 1) (/.f64 (cbrt.f64 (*.f64 x y)) z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 (*.f64 (/.f64 x z) y)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (sqrt.f64 z)) (/.f64 (cbrt.f64 (*.f64 x y)) (sqrt.f64 z)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 x y)) 1) (/.f64 (sqrt.f64 (*.f64 x y)) z))
(*.f64 (/.f64 (sqrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 z) 2)) (/.f64 (sqrt.f64 (*.f64 x y)) (cbrt.f64 z)))
(pow.f64 (*.f64 (/.f64 x z) y) 1)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 3)
(pow.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 x z) y)) 2)
(pow.f64 (/.f64 (/.f64 z x) y) -1)
(neg.f64 (/.f64 (*.f64 x y) (neg.f64 z)))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 2))
(log.f64 (exp.f64 (*.f64 (/.f64 x z) y)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 x z) y)))
(exp.f64 (log.f64 (*.f64 (/.f64 x z) y)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 x z) y)))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(-.f64 (+.f64 1 (*.f64 (/.f64 x z) y)) 1)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 1 (/.f64 z y)))
(*.f64 y (/.f64 x z))
(*.f64 x (*.f64 y (/.f64 1 z)))
(*.f64 y (/.f64 x z))
(*.f64 y (*.f64 x (/.f64 1 z)))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x y) (/.f64 1 z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 x z) y) 1)
(*.f64 y (/.f64 x z))
(*.f64 1 (*.f64 (/.f64 x z) y))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 (cbrt.f64 (*.f64 x y)) (/.f64 1 z)))
(*.f64 y (/.f64 x z))
(*.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 2))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 2) (cbrt.f64 (*.f64 (/.f64 x z) y)))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 (*.f64 x y)) (*.f64 (sqrt.f64 (*.f64 x y)) (/.f64 1 z)))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 (*.f64 (/.f64 x z) y)) (sqrt.f64 (*.f64 (/.f64 x z) y)))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (neg.f64 y)) (/.f64 1 (neg.f64 z)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (*.f64 x y))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z)))
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3))
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z)))
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z)))
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z)))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z)))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z)))
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 z) 2)) (/.f64 (*.f64 x y) (cbrt.f64 z)))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z)))
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3))
(*.f64 (/.f64 1 (sqrt.f64 z)) (/.f64 (*.f64 x y) (sqrt.f64 z)))
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) 1) (/.f64 (cbrt.f64 (*.f64 x y)) z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 (*.f64 (/.f64 x z) y)))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (pow.f64 (cbrt.f64 z) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (sqrt.f64 z)) (/.f64 (cbrt.f64 (*.f64 x y)) (sqrt.f64 z)))
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 x y)) 1) (/.f64 (sqrt.f64 (*.f64 x y)) z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 z) 2)) (/.f64 (sqrt.f64 (*.f64 x y)) (cbrt.f64 z)))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z)))
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3))
(pow.f64 (*.f64 (/.f64 x z) y) 1)
(*.f64 y (/.f64 x z))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 x z) y)) 3)
(*.f64 y (/.f64 x z))
(pow.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3) 1/3)
(*.f64 y (/.f64 x z))
(pow.f64 (sqrt.f64 (*.f64 (/.f64 x z) y)) 2)
(*.f64 y (/.f64 x z))
(pow.f64 (/.f64 (/.f64 z x) y) -1)
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 (*.f64 x y) (neg.f64 z)))
(*.f64 y (/.f64 x z))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 2))
(*.f64 y (/.f64 x z))
(log.f64 (exp.f64 (*.f64 (/.f64 x z) y)))
(*.f64 y (/.f64 x z))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 x z) y) 3))
(*.f64 y (/.f64 x z))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))
(*.f64 y (/.f64 x z))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 x z) y)))
(*.f64 y (/.f64 x z))
(exp.f64 (log.f64 (*.f64 (/.f64 x z) y)))
(*.f64 y (/.f64 x z))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 x z) y)))
(*.f64 y (/.f64 x z))

eval22.0ms (0.9%)

Compiler

Compiled 1242 to 404 computations (67.5% saved)

prune17.0ms (0.7%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New1381139
Fresh000
Picked011
Done033
Total1385143
Accurracy
100.0%
Counts
143 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.1%
(/.f64 (*.f64 x y) z)
91.5%
(/.f64 y (/.f64 z x))
90.3%
(/.f64 x (/.f64 z y))
91.4%
(*.f64 (/.f64 x z) y)
90.8%
(*.f64 x (/.f64 y z))
Compiler

Compiled 40 to 25 computations (37.5% saved)

localize38.0ms (1.5%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
91.7%
(/.f64 y (/.f64 z x))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@0
(/.f64 y (/.f64 z x))
0.0ms
y
@-inf
(/.f64 y (/.f64 z x))
0.0ms
z
@-inf
(/.f64 y (/.f64 z x))
0.0ms
z
@inf
(/.f64 y (/.f64 z x))
0.0ms
x
@-inf
(/.f64 y (/.f64 z x))

rewrite62.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1754×pow1
1622×add-exp-log
1622×log1p-expm1-u
1622×expm1-log1p-u
1586×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
115113
2216113
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(/.f64 y (/.f64 z x))
Outputs
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 x z)))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 x z)))
(*.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) (sqrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 (neg.f64 z) x)))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) 1) (/.f64 (cbrt.f64 y) (/.f64 z x)))
(*.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (/.f64 z x)))
(*.f64 (/.f64 (sqrt.f64 y) z) (/.f64 (sqrt.f64 y) (/.f64 1 x)))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) z) (/.f64 (cbrt.f64 y) (/.f64 1 x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (sqrt.f64 (/.f64 z x))) (/.f64 (cbrt.f64 y) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (/.f64 z x))))
(*.f64 (*.f64 (/.f64 y z) 1) x)
(*.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (/.f64 y z) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3)
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2)
(pow.f64 (/.f64 z (*.f64 y x)) -1)
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x)))
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2))
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z)))
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3))
(cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (/.f64 z x) 3)))
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z))))
(exp.f64 (log.f64 (*.f64 y (/.f64 x z))))
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z))))

simplify61.0ms (2.4%)

Algorithm
egg-herbie
Rules
1678×log-div
1326×log-prod
1322×fma-def
1008×associate-*r/
852×associate-*l/
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01141159
12971135
210081135
357091135
Stop Event
node limit
Counts
77 → 48
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 x z)))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 x z)))
(*.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) (sqrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 (neg.f64 z) x)))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) 1) (/.f64 (cbrt.f64 y) (/.f64 z x)))
(*.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (/.f64 z x)))
(*.f64 (/.f64 (sqrt.f64 y) z) (/.f64 (sqrt.f64 y) (/.f64 1 x)))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) z) (/.f64 (cbrt.f64 y) (/.f64 1 x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (sqrt.f64 (/.f64 z x))) (/.f64 (cbrt.f64 y) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (/.f64 z x))))
(*.f64 (*.f64 (/.f64 y z) 1) x)
(*.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (/.f64 y z) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3)
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2)
(pow.f64 (/.f64 z (*.f64 y x)) -1)
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x)))
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2))
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z)))
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3))
(cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (/.f64 z x) 3)))
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z))))
(exp.f64 (log.f64 (*.f64 y (/.f64 x z))))
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z))))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) (sqrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) 1) (/.f64 (cbrt.f64 y) (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 y) z) (/.f64 (sqrt.f64 y) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x))))
(/.f64 (/.f64 y (cbrt.f64 (/.f64 z x))) (pow.f64 (cbrt.f64 (/.f64 z x)) 2))
(/.f64 y (*.f64 (pow.f64 (cbrt.f64 (/.f64 z x)) 2) (cbrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x))))
(/.f64 (/.f64 y (sqrt.f64 (/.f64 z x))) (sqrt.f64 (/.f64 z x)))
(/.f64 y (*.f64 (sqrt.f64 (/.f64 z x)) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) z) (/.f64 (cbrt.f64 y) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (sqrt.f64 (/.f64 z x))) (/.f64 (cbrt.f64 y) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x))))
(/.f64 (/.f64 y (sqrt.f64 (/.f64 z x))) (sqrt.f64 (/.f64 z x)))
(/.f64 y (*.f64 (sqrt.f64 (/.f64 z x)) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x))))
(/.f64 (/.f64 y (cbrt.f64 (/.f64 z x))) (pow.f64 (cbrt.f64 (/.f64 z x)) 2))
(/.f64 y (*.f64 (pow.f64 (cbrt.f64 (/.f64 z x)) 2) (cbrt.f64 (/.f64 z x))))
(*.f64 (*.f64 (/.f64 y z) 1) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 y z) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (/.f64 z (*.f64 y x)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (/.f64 z x) 3)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(exp.f64 (log.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))

eval22.0ms (0.8%)

Compiler

Compiled 485 to 175 computations (63.9% saved)

prune10.0ms (0.4%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New48048
Fresh000
Picked011
Done044
Total48553
Accurracy
100.0%
Counts
53 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.1%
(/.f64 (*.f64 x y) z)
91.5%
(/.f64 y (/.f64 z x))
90.3%
(/.f64 x (/.f64 z y))
91.4%
(*.f64 (/.f64 x z) y)
90.8%
(*.f64 x (/.f64 y z))
Compiler

Compiled 40 to 25 computations (37.5% saved)

regimes150.0ms (5.9%)

Counts
5 → 5
Calls
Call 1
Inputs
(*.f64 x (/.f64 y z))
(*.f64 (/.f64 x z) y)
(/.f64 x (/.f64 z y))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 x y) z)
Outputs
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 x y) z)
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 x y) z)
(/.f64 x (/.f64 z y))
Calls

5 calls:

79.0ms
y
25.0ms
z
17.0ms
(/.f64 (*.f64 x y) z)
16.0ms
(*.f64 x y)
12.0ms
x
Results
AccuracySegmentsBranch
95.2%3x
97.3%8y
93.9%2z
99.7%5(/.f64 (*.f64 x y) z)
98.6%4(*.f64 x y)
Compiler

Compiled 54 to 31 computations (42.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.31675836702055e+293
3.863834817255129e+303
0.0ms
-0.0
2e-323
0.0ms
-3.1391120925464474e-299
-8.21201e-318
0.0ms
-inf
-1.1829450337012052e+295
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes25.0ms (1%)

Counts
4 → 3
Calls
Call 1
Inputs
(*.f64 x (/.f64 y z))
(*.f64 (/.f64 x z) y)
(/.f64 x (/.f64 z y))
(/.f64 y (/.f64 z x))
Outputs
(/.f64 y (/.f64 z x))
(*.f64 x (/.f64 y z))
(*.f64 (/.f64 x z) y)
Calls

3 calls:

12.0ms
x
7.0ms
z
5.0ms
y
Results
AccuracySegmentsBranch
94.5%3x
91.5%1y
93.4%2z
Compiler

Compiled 35 to 20 computations (42.9% saved)

bsearch37.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
4.784671956620387e-242
4.999999702887753e-236
22.0ms
-9.986671370456691e+184
-3.5519425974624615e+184
Results
32.0ms224×body256valid
2.0ms25×body256infinite
Compiler

Compiled 266 to 178 computations (33.1% saved)

regimes50.0ms (1.9%)

Accuracy

Total -7.4b remaining (-175.3%)

Threshold costs -7.4b (-175.3%)

Counts
3 → 2
Calls
Call 1
Inputs
(*.f64 x (/.f64 y z))
(*.f64 (/.f64 x z) y)
(/.f64 x (/.f64 z y))
Outputs
(*.f64 x (/.f64 y z))
(*.f64 (/.f64 x z) y)
Calls

3 calls:

42.0ms
z
3.0ms
y
3.0ms
x
Results
AccuracySegmentsBranch
91.4%1x
91.4%1y
93.4%2z
Compiler

Compiled 30 to 18 computations (40% saved)

bsearch22.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
21.0ms
1.134734828137681e+144
6.285912016303754e+151
Results
20.0ms144×body256valid
0.0msbody256infinite
Compiler

Compiled 176 to 118 computations (33% saved)

simplify8.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039254
142254
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 (*.f64 x y) z) -inf.0) (*.f64 x (/.f64 y z)) (if (<=.f64 (/.f64 (*.f64 x y) z) -7540071506325551/377003575316277553052632783947358479815640765734281611362288441560101396530857955835685848633641608981764089063400052322800846281248691448694119974860434438887084693231743502178167752441192448774799271819130974018130465379775860716808779827596916922071594850183201524526501846714374614008118077197384100897810808832) (/.f64 (*.f64 x y) z) (if (<=.f64 (/.f64 (*.f64 x y) z) 0) (*.f64 x (/.f64 y z)) (if (<=.f64 (/.f64 (*.f64 x y) z) 1000000000000000066436467741248103118547156170586292454485461107376856746627884050583544890346687569804406120783567460668037744292161050890877875387371120199760770880078039125129799472606133954939884328574613293205683935969567348590731356020719265634967118123751637393518591968740451429495341056) (/.f64 (*.f64 x y) z) (/.f64 x (/.f64 z y))))))
(if (<=.f64 x -49999999999999998980852208437685758555356472593342082603381605947872422739278055501808572305519799253930125569581478605944175487936819013075944738996003952930215442747098861295896625152) (/.f64 y (/.f64 z x)) (if (<=.f64 x 142965408361027/3665779701564795034165604343510379326812382614037843523768505561895816192685171732396196386025552432054958017180031964169522798176905392217656963333320266191425647911421339149090150561469309283359365121053663391676919110861662410702765924749628709797888) (*.f64 x (/.f64 y z)) (*.f64 (/.f64 x z) y)))
(if (<=.f64 z 179999999999999992490331624543735811125298144401057054140366127613422292843025485450131414904986095023391048501498013979730167784615034410078568448) (*.f64 x (/.f64 y z)) (*.f64 (/.f64 x z) y))
(*.f64 x (/.f64 y z))
Outputs
(if (<=.f64 (/.f64 (*.f64 x y) z) -inf.0) (*.f64 x (/.f64 y z)) (if (<=.f64 (/.f64 (*.f64 x y) z) -7540071506325551/377003575316277553052632783947358479815640765734281611362288441560101396530857955835685848633641608981764089063400052322800846281248691448694119974860434438887084693231743502178167752441192448774799271819130974018130465379775860716808779827596916922071594850183201524526501846714374614008118077197384100897810808832) (/.f64 (*.f64 x y) z) (if (<=.f64 (/.f64 (*.f64 x y) z) 0) (*.f64 x (/.f64 y z)) (if (<=.f64 (/.f64 (*.f64 x y) z) 1000000000000000066436467741248103118547156170586292454485461107376856746627884050583544890346687569804406120783567460668037744292161050890877875387371120199760770880078039125129799472606133954939884328574613293205683935969567348590731356020719265634967118123751637393518591968740451429495341056) (/.f64 (*.f64 x y) z) (/.f64 x (/.f64 z y))))))
(if (<=.f64 x -49999999999999998980852208437685758555356472593342082603381605947872422739278055501808572305519799253930125569581478605944175487936819013075944738996003952930215442747098861295896625152) (/.f64 y (/.f64 z x)) (if (<=.f64 x 142965408361027/3665779701564795034165604343510379326812382614037843523768505561895816192685171732396196386025552432054958017180031964169522798176905392217656963333320266191425647911421339149090150561469309283359365121053663391676919110861662410702765924749628709797888) (*.f64 x (/.f64 y z)) (*.f64 (/.f64 x z) y)))
(if (<=.f64 x -49999999999999998980852208437685758555356472593342082603381605947872422739278055501808572305519799253930125569581478605944175487936819013075944738996003952930215442747098861295896625152) (/.f64 y (/.f64 z x)) (if (<=.f64 x 142965408361027/3665779701564795034165604343510379326812382614037843523768505561895816192685171732396196386025552432054958017180031964169522798176905392217656963333320266191425647911421339149090150561469309283359365121053663391676919110861662410702765924749628709797888) (*.f64 x (/.f64 y z)) (*.f64 y (/.f64 x z))))
(if (<=.f64 z 179999999999999992490331624543735811125298144401057054140366127613422292843025485450131414904986095023391048501498013979730167784615034410078568448) (*.f64 x (/.f64 y z)) (*.f64 (/.f64 x z) y))
(if (<=.f64 z 179999999999999992490331624543735811125298144401057054140366127613422292843025485450131414904986095023391048501498013979730167784615034410078568448) (*.f64 x (/.f64 y z)) (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
Compiler

Compiled 111 to 51 computations (54.1% saved)

soundness121.0ms (4.7%)

Rules
1266×log-prod
962×fma-def
780×associate-*r*
776×associate-*l*
534×log-div
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11013
21413
31713
41813
0713
11013
21413
31713
41813
0713
11013
21413
31713
41813
060741
1139741
2523741
33585741
Stop Event
node limit
saturated
saturated
saturated
Compiler

Compiled 52 to 28 computations (46.2% saved)

end92.0ms (3.6%)

Compiler

Compiled 222 to 76 computations (65.8% saved)

Profiling

Loading profile data...