Details

Time bar (total: 12.3s)

analyze344.0ms (2.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
3.1%96.7%0.2%8
6.2%92%1.8%9
8.2%90.1%1.8%10
13.3%84.2%2.5%11
16.2%74.7%9.2%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.8s (22.7%)

Results
1.5s8256×body256valid
1.2s8468×body256invalid

preprocess18.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
12×associate-/r*_binary64
swap-V-l
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03284
15684
26484
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
2
Call 2
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 A (sqrt.f64 (/.f64 c0 (*.f64 V l))))
(*.f64 V (sqrt.f64 (/.f64 A (*.f64 c0 l))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 V c0))))
(*.f64 c0 (sqrt.f64 (/.f64 V (*.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 l (*.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 A (sqrt.f64 (/.f64 c0 (*.f64 V l))))
(*.f64 V (sqrt.f64 (/.f64 A (*.f64 c0 l))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 V c0))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 c0 V))))
(*.f64 c0 (sqrt.f64 (/.f64 V (*.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 l (*.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 l V) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Symmetry

(sort V l)

Compiler

Compiled 16 to 12 computations (25% saved)

simplify57.0ms (0.5%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21512
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))

eval0.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
16.5b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
16.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
13.8b
(sqrt.f64 (/.f64 A (*.f64 V l)))
4.0b
(/.f64 A (*.f64 V l))
1.0b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
1.0b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
4.0b
(/.f64 A (*.f64 V l))
13.8b
(sqrt.f64 (/.f64 A (*.f64 V l)))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series29.0ms (0.2%)

Counts
3 → 12
Calls

30 calls:

TimeVariablePointExpression
3.0ms
V
@0
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
2.0ms
c0
@inf
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
2.0ms
V
@inf
(sqrt.f64 (/.f64 A (*.f64 V l)))
1.0ms
A
@0
(sqrt.f64 (/.f64 A (*.f64 V l)))
1.0ms
V
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))

rewrite59.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
989×pow1_binary64
914×add-log-exp_binary64
914×log1p-expm1-u_binary64
914×expm1-log1p-u_binary64
94×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
118528
2245528
Stop Event
node limit
Counts
3 → 90
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A (*.f64 V l)))
(/.f64 A (*.f64 V l))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (/.f64 1 (*.f64 V l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 (cbrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 A) (/.f64 1 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 V l)) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/4)) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) 1) (/.f64 (cbrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 (sqrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (/.f64 A (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (/.f64 (sqrt.f64 A) (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 V l))) (/.f64 A (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (sqrt.f64 (*.f64 V l))) (/.f64 (cbrt.f64 A) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (/.f64 (/.f64 A V) l))) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 A (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
102 → 91
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

eval24.0ms (0.2%)

Compiler

Compiled 1148 to 426 computations (62.9% saved)

prune46.0ms (0.4%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New731891
Fresh000
Picked011
Done000
Total731992
Error
3.4b
Counts
92 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
37.5b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
19.4b
(*.f64 c0 (pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3))
16.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
49.7b
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))
36.5b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
48.8b
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
26.3b
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
38.5b
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)
18.9b
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
16.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
18.7b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
25.3b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
38.4b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
36.5b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A))))
18.7b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
56.9b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
19.4b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
36.5b
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l)))))
19.1b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
Compiler

Compiled 524 to 374 computations (28.6% saved)

localize15.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
13.8b
(sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))
4.4b
(*.f64 (/.f64 1 (*.f64 V l)) A)
1.0b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
0.2b
(/.f64 1 (*.f64 V l))
0.2b
(/.f64 1 (*.f64 V l))
1.0b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
4.4b
(*.f64 (/.f64 1 (*.f64 V l)) A)
13.8b
(sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))
Compiler

Compiled 42 to 20 computations (52.4% saved)

series17.0ms (0.1%)

Counts
4 → 48
Calls

36 calls:

TimeVariablePointExpression
3.0ms
V
@0
(sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))
1.0ms
A
@inf
(*.f64 (/.f64 1 (*.f64 V l)) A)
0.0ms
V
@inf
(*.f64 (/.f64 1 (*.f64 V l)) A)
0.0ms
l
@0
(/.f64 1 (*.f64 V l))
0.0ms
V
@0
(/.f64 1 (*.f64 V l))

rewrite159.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
549×log-prod_binary64
474×prod-exp_binary64
408×exp-prod_binary64
368×pow-prod-down_binary64
268×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
121935
2266435
Stop Event
node limit
Counts
4 → 186
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))
(*.f64 (/.f64 1 (*.f64 V l)) A)
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(/.f64 1 (*.f64 V l))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 A (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 V l) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (/.f64 (*.f64 V l) (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (/.f64 (*.f64 V l) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (*.f64 V (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A l) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A V) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A (sqrt.f64 (*.f64 V l))) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A 1) (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (cbrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 A) (*.f64 V (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 V) A) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A -1) (*.f64 V (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A (/.f64 1 V)) l)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 A (*.f64 V l)))) 2)) (cbrt.f64 (log.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (log.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 A (*.f64 V l)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1) (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 A) (*.f64 (log.f64 (*.f64 V l)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1) (*.f64 (log.f64 (*.f64 V l)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 V l)) -1) (log.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1) (log.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (*.f64 (log.f64 A) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 V l)) -1) (*.f64 (log.f64 A) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1) (*.f64 (log.f64 A) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 A) 1) (neg.f64 (log.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 A) (*.f64 (log.f64 (*.f64 V l)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 A) 1) (*.f64 (log.f64 (*.f64 V l)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 A) (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 A) 1) (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 A (*.f64 V l))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) (log.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) (log.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) (*.f64 (log.f64 c0) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) (*.f64 (log.f64 c0) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) (*.f64 (log.f64 c0) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 c0) 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 c0) (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 c0) (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 1 V) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 1 V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 1 V) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 1 V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 1 V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 1 V) l)) (cbrt.f64 (pow.f64 (*.f64 V l) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 V l) -2)) (cbrt.f64 (/.f64 (/.f64 1 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 V (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 1 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 V l)) -2) (cbrt.f64 (/.f64 (/.f64 1 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (neg.f64 (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V l)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 1 V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V l)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (*.f64 V (neg.f64 l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 (*.f64 V l)))) 2)) (cbrt.f64 (neg.f64 (log.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (neg.f64 (log.f64 (*.f64 V l))))) (sqrt.f64 (neg.f64 (log.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 V l) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 1 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 1 V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) -3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V l)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (*.f64 (log.f64 (*.f64 V l)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (*.f64 V l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (neg.f64 (log.f64 V)) (*.f64 (log.f64 l) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 1 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 1 V) l)))))))

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
234 → 187
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize55.0ms (0.4%)

Local error

Found 6 expressions with local error:

NewErrorProgram
13.8b
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
6.3b
(/.f64 (/.f64 A V) l)
1.0b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
6.3b
(/.f64 (/.f64 A V) l)
13.8b
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series14.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
1.0ms
c0
@0
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
V
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
V
@-inf
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
1.0ms
l
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
A
@-inf
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)

rewrite82.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
561×log-prod_binary64
418×exp-prod_binary64
356×pow-prod-down_binary64
280×pow2_binary64
196×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
121728
2284428
Stop Event
node limit
Counts
3 → 118
Calls
Call 1
Inputs
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
(/.f64 (/.f64 A V) l)
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 A (*.f64 V l)))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 A (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 2) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (*.f64 (cbrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 A) V) (/.f64 1 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 (/.f64 A V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A 1) (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) 1) (/.f64 (cbrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) 1) (/.f64 (sqrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (pow.f64 (cbrt.f64 l) 2)) (/.f64 (/.f64 1 V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) -2) (/.f64 (/.f64 A V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 (cbrt.f64 l) 2)) (/.f64 (sqrt.f64 (/.f64 A V)) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (sqrt.f64 l)) (/.f64 (/.f64 1 V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (sqrt.f64 l)) (/.f64 (cbrt.f64 (/.f64 A V)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 5/6) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 l A) V) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 A (*.f64 V l)))) 2)) (cbrt.f64 (log.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (log.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 A V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 A (*.f64 V l)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 A (*.f64 V l))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))

simplify58.0ms (0.5%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
166 → 120
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize11.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
12.5b
(sqrt.f64 (/.f64 A V))
0.6b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
0.2b
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
0.2b
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
0.6b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
12.5b
(sqrt.f64 (/.f64 A V))
Compiler

Compiled 33 to 9 computations (72.7% saved)

series31.0ms (0.2%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
15.0ms
V
@-inf
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
4.0ms
l
@-inf
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
1.0ms
A
@0
(sqrt.f64 (/.f64 A V))
1.0ms
l
@-inf
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
1.0ms
A
@-inf
(sqrt.f64 (/.f64 A V))

rewrite60.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
575×log-prod_binary64
419×exp-prod_binary64
379×pow-prod-down_binary64
275×pow2_binary64
210×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
121227
2287227
Stop Event
node limit
Counts
3 → 127
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A V))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/6) (cbrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A V)) (pow.f64 (/.f64 A V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 (/.f64 A V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V A) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (sqrt.f64 A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A V)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A V))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A V)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A V))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A V))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0)) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) 1) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (cbrt.f64 l)) (pow.f64 l 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (pow.f64 l 1/4)) (pow.f64 l 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) c0) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 (/.f64 A V)))) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 (/.f64 A V)) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))))) 2)) (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A V)) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/4) (*.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) (pow.f64 (/.f64 A (*.f64 l V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (/.f64 1 (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) (cbrt.f64 l)) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) 1) (/.f64 (pow.f64 (/.f64 A V) 1/6) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) 1) (/.f64 (pow.f64 (/.f64 A V) 1/4) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 l)) (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) (cbrt.f64 l)) (/.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/4) (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) (pow.f64 l 1/4)) (/.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
139 → 128
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize57.0ms (0.5%)

Local error

Found 8 expressions with local error:

NewErrorProgram
25.7b
(cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))
6.3b
(/.f64 (/.f64 A V) l)
1.0b
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
0.2b
(pow.f64 (/.f64 (/.f64 A V) l) 3/2)
0.2b
(pow.f64 (/.f64 (/.f64 A V) l) 3/2)
1.0b
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
6.3b
(/.f64 (/.f64 A V) l)
25.7b
(cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))
Compiler

Compiled 42 to 16 computations (61.9% saved)

series181.0ms (1.5%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
34.0ms
V
@-inf
(pow.f64 (/.f64 (/.f64 A V) l) 3/2)
34.0ms
A
@0
(pow.f64 (/.f64 (/.f64 A V) l) 3/2)
29.0ms
l
@0
(pow.f64 (/.f64 (/.f64 A V) l) 3/2)
21.0ms
A
@-inf
(pow.f64 (/.f64 (/.f64 A V) l) 3/2)
14.0ms
l
@-inf
(pow.f64 (/.f64 (/.f64 A V) l) 3/2)

rewrite205.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
588×log-prod_binary64
366×pow-prod-down_binary64
298×pow2_binary64
209×pow1/3_binary64
205×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01137
123531
2309431
Stop Event
node limit
Counts
3 → 96
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(pow.f64 (/.f64 (/.f64 A V) l) 3/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 9/2) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) 3/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/4) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A V) l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)))) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A V) l))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A V) l))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/4) (pow.f64 (/.f64 (/.f64 A V) l) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 4) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 5/2) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 9/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A V) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 9/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/4 (log.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A V) l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A V) l))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 3/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))))

simplify48.0ms (0.4%)

Algorithm
egg-herbie
Rules
709×fma-def_binary64
473×exp-sum_binary64
436×fma-neg_binary64
352×div-sub_binary64
294×exp-diff_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
070792
1181720
2447612
31191504
43220504
Stop Event
node limit
Counts
144 → 108
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 3/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V -3/2))
(pow.f64 (/.f64 (/.f64 A l) V) 3/2)

localize30.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
6.3b
(/.f64 (/.f64 A V) l)
5.5b
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
1.0b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
0.7b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
1.0b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
5.5b
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
6.3b
(/.f64 (/.f64 A V) l)
13.8b
(sqrt.f64 (/.f64 (/.f64 A V) l))
Compiler

Compiled 51 to 12 computations (76.5% saved)

series79.0ms (0.6%)

Counts
3 → 48
Calls

33 calls:

TimeVariablePointExpression
33.0ms
V
@0
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
8.0ms
V
@inf
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
8.0ms
A
@inf
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
7.0ms
A
@-inf
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
2.0ms
A
@0
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))

rewrite69.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
575×log-prod_binary64
427×exp-prod_binary64
394×pow-prod-down_binary64
274×pow2_binary64
211×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01035
121035
2285135
Stop Event
node limit
Counts
3 → 112
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (/.f64 A V) l))
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 c0) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))) (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/6) (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))

simplify82.0ms (0.7%)

Algorithm
egg-herbie
Rules
572×fma-def_binary64
371×exp-sum_binary64
342×fma-neg_binary64
305×div-sub_binary64
274×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0791092
11951020
2480924
31397816
43943768
Stop Event
node limit
Counts
160 → 125
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (cbrt.f64 c0) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (pow.f64 (/.f64 1 (*.f64 V l)) 1/6) (*.f64 (pow.f64 (/.f64 -1 A) -1/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 -1)))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (/.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) 1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 (neg.f64 (/.f64 A l)) V) 1/6))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))

eval232.0ms (1.9%)

Compiler

Compiled 11322 to 4597 computations (59.4% saved)

prune176.0ms (1.4%)

Pruning

25 alts after pruning (21 fresh and 4 done)

PrunedKeptTotal
New78018798
Fresh10313
Picked101
Done145
Total79225817
Error
1.4b
Counts
817 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
37.5b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
50.7b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)) 3)
16.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
50.5b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
43.0b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
16.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
18.7b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
18.2b
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
36.5b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
16.9b
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
57.0b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))
27.8b
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
27.5b
(*.f64 c0 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2)) (sqrt.f64 l)))
25.3b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
27.8b
(/.f64 1 (/.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))
38.4b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
18.6b
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
26.3b
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
25.4b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
47.4b
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (sqrt.f64 l)))
19.1b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
33.6b
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
18.7b
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
36.5b
(*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))
19.1b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
Compiler

Compiled 649 to 465 computations (28.4% saved)

localize23.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
13.8b
(sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A))
4.4b
(*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)
1.0b
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
0.3b
(*.f64 (/.f64 1 V) (/.f64 1 l))
0.3b
(*.f64 (/.f64 1 V) (/.f64 1 l))
1.0b
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
4.4b
(*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)
13.8b
(sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A))
Compiler

Compiled 53 to 35 computations (34% saved)

series14.0ms (0.1%)

Counts
4 → 72
Calls

36 calls:

TimeVariablePointExpression
2.0ms
A
@0
(sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A))
1.0ms
V
@0
(sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A))
0.0ms
V
@inf
(sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A))
0.0ms
A
@-inf
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
0.0ms
l
@-inf
(sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A))

rewrite73.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
633×log-prod_binary64
452×pow-prod-down_binary64
302×pow2_binary64
281×pow-unpow_binary64
217×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01244
124835
2315035
Stop Event
node limit
Counts
4 → 141
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A))
(*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
(*.f64 (/.f64 1 V) (/.f64 1 l))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) (cbrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) (pow.f64 (/.f64 (/.f64 A l) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A l) V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A l) V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A l) V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 (/.f64 A l) V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A l) V))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A l) V))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A l) V)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A l) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A l) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 A l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 V) A) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A (/.f64 1 V)) l)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A l) V) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A l) V)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 (/.f64 A l) V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (/.f64 A l) V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 A l) V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A l) V)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A l) V) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A l) V) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (*.f64 V l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (*.f64 V l))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (neg.f64 V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (neg.f64 l) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 V l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 l (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 V (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 V) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 l) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 l -2)) (/.f64 V (/.f64 1 (cbrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 V -2)) (/.f64 l (cbrt.f64 (/.f64 1 V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 l -1/2) (/.f64 V (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 V -1/2) (/.f64 l (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 V (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 l) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 V) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 l) (sqrt.f64 V)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 V) 1) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 V) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 l) 1) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 l) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 1 V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 1 l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 V) -1) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 l) -1) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1 (*.f64 V l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 V -3) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 l -3) (pow.f64 V 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (neg.f64 V) (neg.f64 l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (neg.f64 l) (neg.f64 V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 1 V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (/.f64 1 l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 V l) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 V -3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 l -3) (pow.f64 V 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V l)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (*.f64 V l))))))))

simplify20.0ms (0.2%)

Algorithm
egg-herbie
Rules
associate-/r*_binary64
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011564
119564
223564
Stop Event
saturated
Counts
213 → 142
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))
(/.f64 1 (*.f64 V l))

localize11.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
13.8b
(sqrt.f64 (/.f64 (/.f64 A l) V))
6.2b
(/.f64 (/.f64 A l) V)
1.0b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
1.0b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
6.2b
(/.f64 (/.f64 A l) V)
13.8b
(sqrt.f64 (/.f64 (/.f64 A l) V))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series11.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
1.0ms
A
@0
(sqrt.f64 (/.f64 (/.f64 A l) V))
0.0ms
V
@-inf
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
0.0ms
l
@-inf
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
0.0ms
l
@-inf
(sqrt.f64 (/.f64 (/.f64 A l) V))
0.0ms
A
@-inf
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)

rewrite78.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
536×log-prod_binary64
398×exp-prod_binary64
361×pow-prod-down_binary64
257×pow2_binary64
185×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
119128
2264728
Stop Event
node limit
Counts
3 → 140
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (/.f64 A l) V))
(/.f64 (/.f64 A l) V)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) (pow.f64 (/.f64 A (*.f64 l V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (sqrt.f64 (/.f64 A l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 l V)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 l V)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 l V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 l V))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 A (*.f64 l V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A l) (/.f64 1 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 2) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) (*.f64 (cbrt.f64 (/.f64 A l)) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) (pow.f64 (/.f64 A (*.f64 l V)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) (*.f64 (sqrt.f64 (/.f64 A l)) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 A) l) (/.f64 1 (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (/.f64 (/.f64 A l) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/4) (pow.f64 (/.f64 A (*.f64 l V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A 1) (/.f64 (pow.f64 l -1) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) 1) (/.f64 (cbrt.f64 (/.f64 A l)) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A l)) 1) (/.f64 (sqrt.f64 (/.f64 A l)) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (pow.f64 (cbrt.f64 V) 2)) (/.f64 (pow.f64 l -1) (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 V) -2) (/.f64 (/.f64 A l) (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 (cbrt.f64 V) 2)) (/.f64 (sqrt.f64 (/.f64 A l)) (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (sqrt.f64 V)) (/.f64 (pow.f64 l -1) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) (sqrt.f64 V)) (/.f64 (cbrt.f64 (/.f64 A l)) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 5/6) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 l A) -3) (pow.f64 V 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l V) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V (/.f64 l A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 A (*.f64 l V)))) 2)) (cbrt.f64 (log.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 A (*.f64 l V))))) (sqrt.f64 (log.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 A l) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 l A) -3) (pow.f64 V 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 A (*.f64 l V)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 A (*.f64 l V)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1) (log.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 A l)) 1) (log.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 A l)) (*.f64 (log.f64 V) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 A l)) 1) (*.f64 (log.f64 V) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 A (*.f64 l V))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))))

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
188 → 142
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize21.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
13.8b
(sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l))
6.3b
(/.f64 (*.f64 (/.f64 1 V) A) l)
1.0b
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
0.2b
(*.f64 (/.f64 1 V) A)
0.2b
(*.f64 (/.f64 1 V) A)
1.0b
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
6.3b
(/.f64 (*.f64 (/.f64 1 V) A) l)
13.8b
(sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l))
Compiler

Compiled 42 to 25 computations (40.5% saved)

series17.0ms (0.1%)

Counts
4 → 72
Calls

36 calls:

TimeVariablePointExpression
4.0ms
V
@0
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
1.0ms
A
@inf
(*.f64 (/.f64 1 V) A)
1.0ms
V
@0
(sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l))
0.0ms
A
@-inf
(*.f64 (/.f64 1 V) A)
0.0ms
V
@-inf
(sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l))

rewrite94.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
587×log-prod_binary64
441×exp-prod_binary64
390×pow-prod-down_binary64
282×pow2_binary64
205×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01132
122532
2292732
Stop Event
node limit
Counts
4 → 175
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l))
(/.f64 (*.f64 (/.f64 1 V) A) l)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(*.f64 (/.f64 1 V) A)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 V -1/2) (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A V) l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 1 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (*.f64 A (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (pow.f64 (*.f64 V l) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (*.f64 (cbrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 A) V) (/.f64 1 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 (/.f64 A V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 V) 1) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A 1) (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 V) l) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) 1) (/.f64 (cbrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) 1) (/.f64 (sqrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) -2) (/.f64 (/.f64 A V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 V) (pow.f64 (cbrt.f64 l) 2)) (/.f64 A (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (pow.f64 (cbrt.f64 l) 2)) (/.f64 (/.f64 1 V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 (cbrt.f64 l) 2)) (/.f64 (sqrt.f64 (/.f64 A V)) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 V) (sqrt.f64 l)) (/.f64 A (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (sqrt.f64 l)) (/.f64 (/.f64 1 V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (sqrt.f64 l)) (/.f64 (cbrt.f64 (/.f64 A V)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 5/6) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V (/.f64 l A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))) 2)) (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l)))) (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 A V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 (/.f64 A V) l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (/.f64 A V) l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 A V))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 A V)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 A V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (/.f64 V (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (/.f64 V (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A 1) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A (sqrt.f64 V)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 A) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A -1) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A V) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A V)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A V)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3) (pow.f64 V 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 A V))) 2)) (cbrt.f64 (log.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 A V)))) (sqrt.f64 (log.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 A V) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A V) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 V 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A V)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A V) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 A V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A V)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 A V)))))))

simplify18.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010492
113492
215492
Stop Event
saturated
Counts
247 → 177
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)
(/.f64 A V)

localize20.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
12.5b
(sqrt.f64 (/.f64 A V))
0.6b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
0.2b
(*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))
0.2b
(*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))
0.6b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
12.5b
(sqrt.f64 (/.f64 A V))
Compiler

Compiled 37 to 16 computations (56.8% saved)

series12.0ms (0.1%)

Counts
2 → 12
Calls

21 calls:

TimeVariablePointExpression
2.0ms
A
@-inf
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
1.0ms
l
@-inf
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
1.0ms
l
@inf
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
1.0ms
l
@-inf
(*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))
0.0ms
c0
@0
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))

rewrite56.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
580×log-prod_binary64
428×exp-prod_binary64
387×pow-prod-down_binary64
296×pow2_binary64
231×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
123227
2287127
Stop Event
node limit
Counts
2 → 51
Calls
Call 1
Inputs
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (*.f64 (sqrt.f64 (/.f64 A V)) c0))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c0 (pow.f64 l -1/2)) (sqrt.f64 A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (pow.f64 (*.f64 l (/.f64 V A)) -1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))) 2)) (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))))) (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (pow.f64 (*.f64 l (/.f64 V A)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (sqrt.f64 (/.f64 A V)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (sqrt.f64 (/.f64 A V))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) (pow.f64 l -1/2)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 l -1/2) (sqrt.f64 A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 l -3/2) (pow.f64 (/.f64 A V) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 l -1/6) (pow.f64 (/.f64 A V) 1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l -1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))) (sqrt.f64 (log.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 l -1/2)) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 l -3/2) (pow.f64 (/.f64 A V) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 l -3/2) (pow.f64 (/.f64 A V) 3/2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 l -1/6) (pow.f64 (/.f64 A V) 1/6))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1))))))))

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
63 → 52
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize16.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
13.8b
(sqrt.f64 (/.f64 A (*.f64 V l)))
4.0b
(/.f64 A (*.f64 V l))
1.0b
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
0.2b
(pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3)
1.0b
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
4.0b
(/.f64 A (*.f64 V l))
13.8b
(sqrt.f64 (/.f64 A (*.f64 V l)))
35.8b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
Compiler

Compiled 52 to 14 computations (73.1% saved)

series13.0ms (0.1%)

Counts
2 → 12
Calls

24 calls:

TimeVariablePointExpression
2.0ms
c0
@-inf
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
2.0ms
c0
@inf
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
1.0ms
A
@0
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
1.0ms
A
@-inf
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
1.0ms
l
@-inf
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))

rewrite61.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
599×log-prod_binary64
397×pow-prod-down_binary64
288×pow2_binary64
250×pow-unpow_binary64
207×pow-to-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01224
125624
2303624
Stop Event
node limit
Counts
2 → 74
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 c0) 2) (*.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) (cbrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (pow.f64 (*.f64 c0 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (cbrt.f64 c0) 2)) (cbrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 1/2) (sqrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (cbrt.f64 (/.f64 (/.f64 A V) l))) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/4)) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 9) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 9) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))))

simplify84.0ms (0.7%)

Algorithm
egg-herbie
Rules
244×fma-def_binary64
21×sub-neg_binary64
20×associate-*l*_binary64
20×distribute-rgt-in_binary64
18×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014172
126172
258172
3103172
4118172
5166172
6238172
7275172
8317172
9486172
10514172
Stop Event
saturated
Counts
86 → 48
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 c0 (cbrt.f64 -1))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (cbrt.f64 -1)) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) (neg.f64 c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 c0 (cbrt.f64 -1))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (cbrt.f64 -1)) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) (neg.f64 c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 c0 (cbrt.f64 -1))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (cbrt.f64 -1)) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) (neg.f64 c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 c0 (cbrt.f64 -1))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (cbrt.f64 -1)) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) (neg.f64 c0)))

eval224.0ms (1.8%)

Compiler

Compiled 9088 to 3823 computations (57.9% saved)

prune244.0ms (2%)

Pruning

25 alts after pruning (16 fresh and 9 done)

PrunedKeptTotal
New6719680
Fresh9716
Picked011
Done088
Total68025705
Error
1.1b
Counts
705 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
37.5b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
16.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
18.2b
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
16.9b
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
48.1b
(/.f64 (*.f64 (*.f64 c0 (pow.f64 l -1/2)) (sqrt.f64 A)) (sqrt.f64 V))
27.5b
(*.f64 c0 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2)) (sqrt.f64 l)))
38.4b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
18.6b
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
26.6b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
19.1b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
49.2b
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
19.1b
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
36.5b
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
57.0b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))
18.7b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
33.6b
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
26.3b
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
25.4b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
47.4b
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (sqrt.f64 l)))
36.5b
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
18.7b
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
43.0b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
16.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
25.3b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
27.8b
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
Compiler

Compiled 568 to 404 computations (28.9% saved)

localize22.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
14.0b
(pow.f64 (*.f64 l (/.f64 V A)) -1/2)
6.0b
(*.f64 l (/.f64 V A))
1.0b
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
1.0b
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
6.0b
(*.f64 l (/.f64 V A))
14.0b
(pow.f64 (*.f64 l (/.f64 V A)) -1/2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series310.0ms (2.5%)

Counts
3 → 84
Calls

30 calls:

TimeVariablePointExpression
102.0ms
l
@-inf
(pow.f64 (*.f64 l (/.f64 V A)) -1/2)
90.0ms
l
@0
(pow.f64 (*.f64 l (/.f64 V A)) -1/2)
25.0ms
A
@0
(pow.f64 (*.f64 l (/.f64 V A)) -1/2)
22.0ms
A
@-inf
(pow.f64 (*.f64 l (/.f64 V A)) -1/2)
15.0ms
V
@-inf
(pow.f64 (*.f64 l (/.f64 V A)) -1/2)

rewrite56.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
559×log-prod_binary64
424×exp-prod_binary64
340×pow-prod-down_binary64
287×pow2_binary64
213×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01030
121430
2271630
Stop Event
node limit
Counts
3 → 87
Calls
Call 1
Inputs
(pow.f64 (*.f64 l (/.f64 V A)) -1/2)
(*.f64 l (/.f64 V A))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (/.f64 (*.f64 l V) A) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (/.f64 (*.f64 l V) A) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/6) (cbrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))) (pow.f64 (/.f64 (*.f64 l V) A) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/4) (pow.f64 (/.f64 (*.f64 l V) A) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 l V) A)) -1) (pow.f64 (/.f64 (*.f64 l V) A) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 l V) A) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 l V) A) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 (*.f64 l V) A))) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 l V) A)) 1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 l V) A)) -1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 l V) A))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 l V) A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 l (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l V) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 l V)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) 1) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) (sqrt.f64 A)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 V) l) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l (neg.f64 V)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l V) A) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 l V) A) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 l V) A) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 l V) A)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 l V) A)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 l V) A))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 l V) A))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 l V) A)))) (sqrt.f64 (log.f64 (/.f64 (*.f64 l V) A))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 l V) A) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 l V) A))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 l V) A) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 l V) A)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 l V) A) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 l V) A))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 l V) A))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 l V) A)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 l) 1) (log.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 l V)) (*.f64 (log.f64 A) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 l V) A)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 l V) A)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -3/2) (pow.f64 c0 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/6) (cbrt.f64 c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 c0) (pow.f64 (/.f64 (*.f64 l V) A) -1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 l V) A)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -3/2) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -3/2) (pow.f64 c0 3))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/6) (cbrt.f64 c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 c0) (pow.f64 (/.f64 (*.f64 l V) A) -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/2) c0)))))))

simplify93.0ms (0.8%)

Algorithm
egg-herbie
Rules
527×exp-sum_binary64
487×fma-neg_binary64
378×div-sub_binary64
374×exp-diff_binary64
342×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
071972
1190972
2461864
31190756
43675756
Stop Event
node limit
Counts
171 → 101
Calls
Call 1
Inputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 (/.f64 V A)) (log.f64 l)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 V (/.f64 l A)) -1/2)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 V (/.f64 l A))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)

localize12.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
13.8b
(sqrt.f64 (/.f64 (/.f64 A V) l))
6.3b
(/.f64 (/.f64 A V) l)
1.0b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
1.0b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
6.3b
(/.f64 (/.f64 A V) l)
13.8b
(sqrt.f64 (/.f64 (/.f64 A V) l))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series6.0ms (0%)

Counts
1 → 12
Calls

12 calls:

TimeVariablePointExpression
1.0ms
A
@inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
0.0ms
A
@0
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
0.0ms
l
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
0.0ms
V
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
0.0ms
A
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))

rewrite49.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
536×log-prod_binary64
398×exp-prod_binary64
362×pow-prod-down_binary64
257×pow2_binary64
185×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
119112
2264712
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 2)) (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
38 → 27
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize146.0ms (1.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
8.9b
(sqrt.f64 (*.f64 l V))
0.5b
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
0.2b
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))
0.2b
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))
0.5b
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
8.9b
(sqrt.f64 (*.f64 l V))
Compiler

Compiled 33 to 9 computations (72.7% saved)

series17.0ms (0.1%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
3.0ms
l
@0
(sqrt.f64 (*.f64 l V))
2.0ms
V
@-inf
(sqrt.f64 (*.f64 l V))
1.0ms
V
@-inf
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
1.0ms
V
@-inf
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))
1.0ms
l
@-inf
(sqrt.f64 (*.f64 l V))

rewrite68.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
563×log-prod_binary64
409×exp-prod_binary64
370×pow-prod-down_binary64
262×pow2_binary64
227×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
120627
2268027
Stop Event
node limit
Counts
3 → 136
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 l V))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 l V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) 1/6) (cbrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l V)) (pow.f64 (*.f64 l V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) 1/4) (pow.f64 (*.f64 l V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 l V)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 l V))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 l V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 l V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 l V) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l V)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l V)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 l V))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 l V)) (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sqrt.f64 A) c0)) (neg.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) 1) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (cbrt.f64 (*.f64 l V))) (pow.f64 (*.f64 l V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (*.f64 l V) 1/4)) (pow.f64 (*.f64 l V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 A)) c0) (neg.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 A))) (neg.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 l V)) (*.f64 (sqrt.f64 A) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))) 2)) (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))) (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (log.f64 (sqrt.f64 (/.f64 (*.f64 l V) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)) (*.f64 (log.f64 (*.f64 l V)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)) (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (*.f64 l V) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 A) (*.f64 (pow.f64 A 1/6) (pow.f64 (*.f64 l V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) (pow.f64 (/.f64 A (*.f64 l V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A 1/4) (*.f64 (pow.f64 A 1/4) (pow.f64 (*.f64 l V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 A)) (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) 1) (/.f64 (pow.f64 A 1/6) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) 1) (/.f64 (pow.f64 A 1/4) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 l V))) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 l V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 (*.f64 l V))) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) (cbrt.f64 (*.f64 l V))) (/.f64 (pow.f64 A 1/4) (pow.f64 (*.f64 l V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) -1/4) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 l V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (pow.f64 (*.f64 l V) 1/4)) (/.f64 (pow.f64 A 1/6) (pow.f64 (*.f64 l V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 A) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 l)) (/.f64 (pow.f64 A 1/6) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) (sqrt.f64 l)) (/.f64 (pow.f64 A 1/4) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 l V) A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 (*.f64 l V) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 l V) A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 A) (neg.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 (*.f64 l V) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 l V) A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1/2) (log.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 A)) 1) (log.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (sqrt.f64 A)) (*.f64 (log.f64 (*.f64 l V)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1/2) (*.f64 (log.f64 (*.f64 l V)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 A)) 1) (*.f64 (log.f64 (*.f64 l V)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (sqrt.f64 A)) (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1/2) (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 A)) 1) (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
148 → 137
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize15.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
12.2b
(sqrt.f64 (/.f64 (neg.f64 A) l))
0.9b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
0.3b
(/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))
0.3b
(/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))
0.9b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
12.2b
(sqrt.f64 (/.f64 (neg.f64 A) l))
Compiler

Compiled 44 to 11 computations (75% saved)

series15.0ms (0.1%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
2.0ms
V
@-inf
(/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))
1.0ms
A
@0
(sqrt.f64 (/.f64 (neg.f64 A) l))
1.0ms
A
@-inf
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
1.0ms
A
@-inf
(/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))
1.0ms
A
@inf
(sqrt.f64 (/.f64 (neg.f64 A) l))

rewrite64.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
606×log-prod_binary64
372×pow-prod-down_binary64
278×pow2_binary64
256×pow-unpow_binary64
197×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
125827
2369027
Stop Event
node limit
Counts
3 → 103
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (neg.f64 A) l))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
(/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A l)) (pow.f64 (/.f64 A l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) 1/6) (cbrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) 1/4) (pow.f64 (/.f64 A l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l A) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (sqrt.f64 A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A l))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0)) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) 1) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (cbrt.f64 V)) (pow.f64 V 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (pow.f64 V 1/4)) (pow.f64 V 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) c0) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 (/.f64 A l)))) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A l)) (*.f64 (pow.f64 (/.f64 A l) 1/6) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) 1/4) (*.f64 (pow.f64 (/.f64 A l) 1/4) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) (/.f64 1 (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A l)) (cbrt.f64 V)) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A l)) 1) (/.f64 (pow.f64 (/.f64 A l) 1/6) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A l) 1/4) 1) (/.f64 (pow.f64 (/.f64 A l) 1/4) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 V)) (/.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A l) 1/4) (cbrt.f64 V)) (/.f64 (pow.f64 (/.f64 A l) 1/4) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/4) (/.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A l)) (pow.f64 V 1/4)) (/.f64 (pow.f64 (/.f64 A l) 1/6) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
115 → 104
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize16.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.5b
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
0.2b
(/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))
0.2b
(/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l))
0.2b
(/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l))
0.2b
(/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))
0.5b
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
Compiler

Compiled 49 to 12 computations (75.5% saved)

series12.0ms (0.1%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
1.0ms
A
@0
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
1.0ms
A
@-inf
(/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))
0.0ms
A
@-inf
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
0.0ms
V
@inf
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
0.0ms
V
@-inf
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))

rewrite67.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
665×log-prod_binary64
303×pow2_binary64
286×pow-unpow_binary64
214×pow1/3_binary64
208×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01343
127627
2384227
Stop Event
node limit
Counts
3 → 120
Calls
Call 1
Inputs
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
(/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))
(/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (*.f64 c0 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V)))) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) 1) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (cbrt.f64 l)) (pow.f64 l 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (pow.f64 l 1/4)) (pow.f64 l 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) c0) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 (/.f64 A V)))) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 (/.f64 A V) l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 3) (pow.f64 c0 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (*.f64 c0 (sqrt.f64 (/.f64 A V)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 3) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/6) (cbrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A V)) (pow.f64 (/.f64 A V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 A) (*.f64 (pow.f64 A 1/6) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A 1/4) (*.f64 (pow.f64 A 1/4) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 (/.f64 A V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 A)) (/.f64 1 (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) 1) (/.f64 (pow.f64 A 1/6) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) 1) (/.f64 (pow.f64 A 1/4) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 V)) (/.f64 (sqrt.f64 A) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (pow.f64 (/.f64 A V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) (cbrt.f64 V)) (/.f64 (pow.f64 A 1/4) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/4) (/.f64 (sqrt.f64 A) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (pow.f64 V 1/4)) (/.f64 (pow.f64 A 1/6) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 V 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 V A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 A) (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 V 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A V))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (*.f64 l V) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 (pow.f64 V -1/2) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A V)) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (sqrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/4) (*.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (/.f64 1 (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 l)) (/.f64 (pow.f64 A 1/6) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) (sqrt.f64 l)) (/.f64 (pow.f64 A 1/4) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 (pow.f64 V -1/2) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) 1) (/.f64 (pow.f64 (/.f64 A V) 1/6) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) 1) (/.f64 (pow.f64 (/.f64 A V) 1/4) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (cbrt.f64 l)) (/.f64 (pow.f64 V -1/2) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 l)) (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) (cbrt.f64 l)) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) (cbrt.f64 l)) (/.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (pow.f64 l 1/4)) (/.f64 (pow.f64 V -1/2) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/4) (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) (pow.f64 l 1/4)) (/.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 l V)) (sqrt.f64 A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
132 → 121
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

eval208.0ms (1.7%)

Compiler

Compiled 7852 to 2978 computations (62.1% saved)

prune106.0ms (0.9%)

Pruning

25 alts after pruning (16 fresh and 9 done)

PrunedKeptTotal
New5929601
Fresh4711
Picked011
Done5813
Total60125626
Error
0.8b
Counts
626 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
18.2b
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
49.2b
(/.f64 1 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)))
16.9b
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
48.1b
(/.f64 (*.f64 (*.f64 c0 (pow.f64 l -1/2)) (sqrt.f64 A)) (sqrt.f64 V))
27.5b
(*.f64 c0 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2)) (sqrt.f64 l)))
18.9b
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
48.6b
(/.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 l)) (sqrt.f64 V))
49.1b
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
25.3b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
36.7b
(*.f64 (/.f64 (sqrt.f64 A) (pow.f64 (cbrt.f64 (*.f64 l V)) 3/2)) c0)
38.4b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
18.6b
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
26.6b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
19.1b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
18.7b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
33.6b
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
36.5b
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
16.5b
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
16.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
37.5b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
57.0b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))
25.4b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
37.0b
(/.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))
27.8b
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
48.3b
(*.f64 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (neg.f64 l))) (sqrt.f64 (neg.f64 V))) c0)
Compiler

Compiled 346 to 246 computations (28.9% saved)

regimes991.0ms (8%)

Counts
55 → 2
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(/.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
(/.f64 1 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(/.f64 1 (/.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l)))))
(/.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 l)) (sqrt.f64 V))
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (sqrt.f64 l)))
(*.f64 (/.f64 (sqrt.f64 A) (pow.f64 (cbrt.f64 (*.f64 l V)) 3/2)) c0)
(/.f64 (*.f64 (*.f64 c0 (pow.f64 l -1/2)) (sqrt.f64 A)) (sqrt.f64 V))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
(*.f64 c0 (pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
(*.f64 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (neg.f64 l))) (sqrt.f64 (neg.f64 V))) c0)
(*.f64 c0 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2)) (sqrt.f64 l)))
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)) 3)
Outputs
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
Calls

11 calls:

140.0ms
(*.f64 V l)
128.0ms
V
121.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
114.0ms
l
85.0ms
(/.f64 A (*.f64 V l))
Results
ErrorSegmentsBranch
15.0b3c0
6.1b2A
8.3b3V
7.9b3l
9.3b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.1b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.1b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.1b3(/.f64 A (*.f64 V l))
9.1b3(/.f64 A (*.f64 V l))
6.1b2(*.f64 V l)
6.1b2(*.f64 V l)
Compiler

Compiled 639 to 267 computations (58.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
5e-324
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes1.0s (8.2%)

Counts
49 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(/.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
(/.f64 1 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(/.f64 1 (/.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l)))))
(/.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 l)) (sqrt.f64 V))
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (sqrt.f64 l)))
(*.f64 (/.f64 (sqrt.f64 A) (pow.f64 (cbrt.f64 (*.f64 l V)) 3/2)) c0)
(/.f64 (*.f64 (*.f64 c0 (pow.f64 l -1/2)) (sqrt.f64 A)) (sqrt.f64 V))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))
(*.f64 c0 (pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
(*.f64 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (neg.f64 l))) (sqrt.f64 (neg.f64 V))) c0)
(*.f64 c0 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2)) (sqrt.f64 l)))
Outputs
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
Calls

11 calls:

186.0ms
A
137.0ms
(*.f64 V l)
122.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
103.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
86.0ms
V
Results
ErrorSegmentsBranch
15.0b3c0
8.6b4A
10.0b2V
9.6b2l
9.3b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.1b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.1b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.1b3(/.f64 A (*.f64 V l))
9.1b3(/.f64 A (*.f64 V l))
5.5b4(*.f64 V l)
5.5b4(*.f64 V l)
Compiler

Compiled 571 to 247 computations (56.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5e-324
1.06804195199e-312
0.0ms
-4.539112393202982e-205
-2.367642016300544e-206
0.0ms
-inf
-1.918401319159493e+307
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes600.0ms (4.9%)

Counts
36 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(/.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
(/.f64 1 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(/.f64 1 (/.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))
Outputs
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
Calls

9 calls:

109.0ms
(*.f64 V l)
96.0ms
A
75.0ms
c0
73.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
59.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
15.0b3c0
10.5b3A
10.5b3V
11.1b2l
9.3b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.1b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.1b3(/.f64 A (*.f64 V l))
6.7b4(*.f64 V l)
6.7b4(*.f64 V l)
Compiler

Compiled 409 to 181 computations (55.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5e-324
1.06804195199e-312
0.0ms
-4.605139606238892e-169
-9.33610257455564e-175
0.0ms
-5.434844404691149e+138
-2.66868249154173e+133
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes439.0ms (3.6%)

Counts
27 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(/.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
Outputs
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
Calls

9 calls:

95.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
72.0ms
V
44.0ms
(*.f64 V l)
44.0ms
(*.f64 V l)
43.0ms
A
Results
ErrorSegmentsBranch
15.0b3c0
10.5b3A
11.9b4V
11.1b2l
10.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.5b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.5b3(/.f64 A (*.f64 V l))
6.7b4(*.f64 V l)
6.7b4(*.f64 V l)
Compiler

Compiled 315 to 141 computations (55.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5e-324
1.06804195199e-312
0.0ms
-4.605139606238892e-169
-9.33610257455564e-175
0.0ms
-5.434844404691149e+138
-2.66868249154173e+133
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes378.0ms (3.1%)

Counts
26 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(/.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
Outputs
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
Calls

9 calls:

60.0ms
l
50.0ms
(*.f64 V l)
49.0ms
A
42.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
42.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
15.0b3c0
11.4b4A
13.4b2V
10.5b5l
10.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.5b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.5b3(/.f64 A (*.f64 V l))
7.2b4(*.f64 V l)
7.2b4(*.f64 V l)
Compiler

Compiled 306 to 139 computations (54.6% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5e-324
1.06804195199e-312
0.0ms
-4.605139606238892e-169
-9.33610257455564e-175
0.0ms
-7.4165338815164755e+205
-9.614252310204852e+183
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes255.0ms (2.1%)

Counts
21 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(/.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)
Calls

9 calls:

38.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
33.0ms
V
31.0ms
c0
29.0ms
(*.f64 V l)
27.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
15.0b3c0
13.3b2A
13.4b2V
14.8b2l
11.6b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
12.1b3(sqrt.f64 (/.f64 A (*.f64 V l)))
12.1b3(/.f64 A (*.f64 V l))
11.4b3(*.f64 V l)
11.4b3(*.f64 V l)
Compiler

Compiled 261 to 131 computations (49.8% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5e-324
1.06804195199e-312
0.0ms
-2.94475441e-314
0.0
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes267.0ms (2.2%)

Counts
20 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(/.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
Outputs
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
Calls

9 calls:

35.0ms
(/.f64 A (*.f64 V l))
35.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
33.0ms
l
30.0ms
V
30.0ms
c0
Results
ErrorSegmentsBranch
15.0b3c0
13.8b2A
13.4b2V
14.8b2l
11.6b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
12.1b3(sqrt.f64 (/.f64 A (*.f64 V l)))
12.1b3(/.f64 A (*.f64 V l))
11.9b3(*.f64 V l)
11.9b3(*.f64 V l)
Compiler

Compiled 252 to 129 computations (48.8% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.3456033860063955e+294
+inf
0.0ms
2.4411251639596206e-220
1.6655438702426284e-198
0.0ms
-8.923501353722674e-243
-1.3314375807176667e-258
0.0ms
-inf
-7.340409059692784e+307
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes231.0ms (1.9%)

Counts
17 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
Outputs
(/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
Calls

9 calls:

32.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
28.0ms
(*.f64 V l)
26.0ms
V
26.0ms
l
26.0ms
A
Results
ErrorSegmentsBranch
15.0b3c0
15.1b3A
13.4b2V
14.8b3l
11.7b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
12.4b3(sqrt.f64 (/.f64 A (*.f64 V l)))
12.4b3(/.f64 A (*.f64 V l))
14.4b3(*.f64 V l)
14.4b3(*.f64 V l)
Compiler

Compiled 225 to 120 computations (46.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.962361983762274e+226
1.1579523039391743e+228
0.0ms
2.4411251639596206e-220
1.6655438702426284e-198
0.0ms
-8.923501353722674e-243
-1.3314375807176667e-258
0.0ms
-inf
-7.340409059692784e+307
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes211.0ms (1.7%)

Counts
16 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))
(*.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 V) A) l)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (*.f64 (/.f64 1 V) (/.f64 1 l)) A)))
Outputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Calls

9 calls:

26.0ms
c0
26.0ms
l
25.0ms
A
24.0ms
V
23.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Results
ErrorSegmentsBranch
15.0b3c0
15.1b3A
15.0b3V
14.8b3l
13.7b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
12.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
12.9b3(/.f64 A (*.f64 V l))
14.4b3(*.f64 V l)
14.4b3(*.f64 V l)
Compiler

Compiled 216 to 116 computations (46.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.5124450522645546e+305
+inf
0.0ms
0.0
5.2213737e-317
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes55.0ms (0.4%)

Counts
5 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
Calls

4 calls:

18.0ms
A
17.0ms
V
9.0ms
l
8.0ms
c0
Results
ErrorSegmentsBranch
17.2b2c0
16.9b3A
16.1b4V
17.4b2l
Compiler

Compiled 64 to 34 computations (46.9% saved)

bsearch23.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
1.2470828390636654e-270
5.955784485302948e-268
3.0ms
-1.4851610145789388e-214
-6.551862619678562e-224
4.0ms
-7.110114144459413e-78
-2.633289147801189e-95
Compiler

Compiled 279 to 194 computations (30.5% saved)

regimes48.0ms (0.4%)

Counts
4 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Calls

4 calls:

16.0ms
V
12.0ms
A
10.0ms
l
9.0ms
c0
Results
ErrorSegmentsBranch
17.2b2c0
16.9b3A
16.1b4V
17.4b2l
Compiler

Compiled 56 to 31 computations (44.6% saved)

bsearch10.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
2.0ms
1.2470828390636654e-270
5.955784485302948e-268
3.0ms
-1.4851610145789388e-214
-6.551862619678562e-224
5.0ms
-7.110114144459413e-78
-2.633289147801189e-95
Compiler

Compiled 97 to 68 computations (29.9% saved)

regimes45.0ms (0.4%)

Accuracy

Total -8.7b remaining (-54%)

Threshold costs -8.7b (-54%)

Counts
3 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Calls

4 calls:

13.0ms
V
11.0ms
A
11.0ms
l
8.0ms
c0
Results
ErrorSegmentsBranch
17.3b2c0
17.0b3A
16.2b4V
17.5b2l
Compiler

Compiled 48 to 28 computations (41.7% saved)

bsearch10.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
3.0ms
1.2470828390636654e-270
5.955784485302948e-268
3.0ms
-1.4851610145789388e-214
-6.551862619678562e-224
5.0ms
-7.110114144459413e-78
-2.633289147801189e-95
Compiler

Compiled 97 to 68 computations (29.9% saved)

simplify34.0ms (0.3%)

Algorithm
egg-herbie
Rules
21×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0135974
1160974
2169974
3175974
4178974
5179974
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l))) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))
(if (<=.f64 (*.f64 V l) -inf.0) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -144589514685860736/361473786714651839609485931802192366508973300717001923159475447150424810286233407987951861887389439612274926783780351561999781998832434041296198795326329101623141899709787663433296905279066051548640942013290819886814068736) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))))
(if (<=.f64 (*.f64 V l) -5000000000000000164207812446024630394935062831798058477561567131293735034493939977720006578138637063419747523921612177893242453171057459200) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) -6798566308054619/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))))
(if (<=.f64 (*.f64 V l) -5000000000000000164207812446024630394935062831798058477561567131293735034493939977720006578138637063419747523921612177893242453171057459200) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) -6798566308054619/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0))))
(if (<=.f64 (*.f64 V l) -50000000000000001944678877554419421565368624647601006667151191003845647144692448381539982803938850693663230155970606645676585305704718780827009183610634470177217293131308471772283227903827973109661120331776) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -6798566308054619/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0))))
(if (<=.f64 (*.f64 V l) -2024022533/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V)) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)))
(if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -inf.0) (/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0)) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -615015778615681024/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 5087291284850963/12718228212127407596740439969484820932664410252219978638451114295509409404406799452822555925124271947370395489870897751704957583721388559494711601357137355892362895163562802426267773219894054460008554489394925312007314201426461145956352) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 4000000000000000265745870964992412474188624682345169817941844429507426986511536202334179561386750279217624483134269842672150977168644203563511501549484480799043083520312156500519197890424535819759537314298453172822735743878269394362925424082877062539868472495006549574074367874961805717981364224) (*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2)) (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))))))
(if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -inf.0) (/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0)) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -615015778615681024/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 5087291284850963/12718228212127407596740439969484820932664410252219978638451114295509409404406799452822555925124271947370395489870897751704957583721388559494711601357137355892362895163562802426267773219894054460008554489394925312007314201426461145956352) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 50000000000000004641673518601159954844517422622525385549225694063461714040984789960014820604544131271471563404911386848873613068925538235484773792943686604067961981752493137735453512646120016981018974140087018752579040234700800) (*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2)) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 (/.f64 A (*.f64 V l)) 199999999999999987850710501107292437200805744402346499063815431426464091260264678056866185148810154968737122361123243451574343874852720610604715976817337655499746028833640220821354205063248818116874396050971031981532793651016436653190982245392158996106920698373251448128152087616919197241498086962762874880) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))
(if (<=.f64 V -21359870359209100/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 V -5087291284850963/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 V 12181642514249998336/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))))
(if (<=.f64 V -21359870359209100/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 V -5087291284850963/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 V 1487016908477783/148701690847778306279806249814990056013126020165939445905577185931594065716040437354516831449615635058979872379019297305045458524554490570779083058110239462578297084044745987394268640983429773687023919578235143720606774870687788008815709894034865808301204510545414391282376534881468416) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))))))
(if (<=.f64 V -21359870359209100/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 V -5087291284850963/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 V 1487016908477783/148701690847778306279806249814990056013126020165939445905577185931594065716040437354516831449615635058979872379019297305045458524554490570779083058110239462578297084044745987394268640983429773687023919578235143720606774870687788008815709894034865808301204510545414391282376534881468416) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Outputs
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l))) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))
(if (<=.f64 (*.f64 V l) -inf.0) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -144589514685860736/361473786714651839609485931802192366508973300717001923159475447150424810286233407987951861887389439612274926783780351561999781998832434041296198795326329101623141899709787663433296905279066051548640942013290819886814068736) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))))
(if (<=.f64 (*.f64 V l) -inf.0) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -1129605583483287/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 1/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))))
(if (<=.f64 (*.f64 V l) -inf.0) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -1129605583483287/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 V (neg.f64 l))))) (if (<=.f64 (*.f64 V l) 1/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))))
(if (<=.f64 (*.f64 V l) -5000000000000000164207812446024630394935062831798058477561567131293735034493939977720006578138637063419747523921612177893242453171057459200) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) -6798566308054619/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))))
(if (<=.f64 (*.f64 V l) -5000000000000000164207812446024630394935062831798058477561567131293735034493939977720006578138637063419747523921612177893242453171057459200) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) -6798566308054619/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 c0 (sqrt.f64 (*.f64 A (/.f64 1 (*.f64 V l))))) (if (<=.f64 (*.f64 V l) 1/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))))
(if (<=.f64 (*.f64 V l) -5000000000000000164207812446024630394935062831798058477561567131293735034493939977720006578138637063419747523921612177893242453171057459200) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) -6798566308054619/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0))))
(if (<=.f64 (*.f64 V l) -5000000000000000164207812446024630394935062831798058477561567131293735034493939977720006578138637063419747523921612177893242453171057459200) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) -6798566308054619/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 c0 (sqrt.f64 (*.f64 A (/.f64 1 (*.f64 V l))))) (if (<=.f64 (*.f64 V l) 1/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))))
(if (<=.f64 (*.f64 V l) -50000000000000001944678877554419421565368624647601006667151191003845647144692448381539982803938850693663230155970606645676585305704718780827009183610634470177217293131308471772283227903827973109661120331776) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -6798566308054619/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0))))
(if (<=.f64 (*.f64 V l) -50000000000000001944678877554419421565368624647601006667151191003845647144692448381539982803938850693663230155970606645676585305704718780827009183610634470177217293131308471772283227903827973109661120331776) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -6798566308054619/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 1/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))))
(if (<=.f64 (*.f64 V l) -2024022533/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 16384/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V)) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) c0)))
(if (<=.f64 (*.f64 V l) -2024022533/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 1/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V)) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))))
(if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -inf.0) (/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0)) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -615015778615681024/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 5087291284850963/12718228212127407596740439969484820932664410252219978638451114295509409404406799452822555925124271947370395489870897751704957583721388559494711601357137355892362895163562802426267773219894054460008554489394925312007314201426461145956352) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 4000000000000000265745870964992412474188624682345169817941844429507426986511536202334179561386750279217624483134269842672150977168644203563511501549484480799043083520312156500519197890424535819759537314298453172822735743878269394362925424082877062539868472495006549574074367874961805717981364224) (*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2)) (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))))))
(if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -inf.0) (/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0)) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -75075168288047/15015033657609400459942315391018513722623519187099007073355798781525263125238463415894820397160662761697108038369410925238365381332604486523522921813279810320079453845181805154673256699778290824639959535835805252308660678089369234238529227774479195332149248) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 5087291284850963/12718228212127407596740439969484820932664410252219978638451114295509409404406799452822555925124271947370395489870897751704957583721388559494711601357137355892362895163562802426267773219894054460008554489394925312007314201426461145956352) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 4000000000000000265745870964992412474188624682345169817941844429507426986511536202334179561386750279217624483134269842672150977168644203563511501549484480799043083520312156500519197890424535819759537314298453172822735743878269394362925424082877062539868472495006549574074367874961805717981364224) (*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2)) (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))))))
(if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -inf.0) (/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0)) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -615015778615681024/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 5087291284850963/12718228212127407596740439969484820932664410252219978638451114295509409404406799452822555925124271947370395489870897751704957583721388559494711601357137355892362895163562802426267773219894054460008554489394925312007314201426461145956352) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 50000000000000004641673518601159954844517422622525385549225694063461714040984789960014820604544131271471563404911386848873613068925538235484773792943686604067961981752493137735453512646120016981018974140087018752579040234700800) (*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2)) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))))
(if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -inf.0) (/.f64 (sqrt.f64 (/.f64 A l)) (/.f64 (sqrt.f64 V) c0)) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) -75075168288047/15015033657609400459942315391018513722623519187099007073355798781525263125238463415894820397160662761697108038369410925238365381332604486523522921813279810320079453845181805154673256699778290824639959535835805252308660678089369234238529227774479195332149248) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 5087291284850963/12718228212127407596740439969484820932664410252219978638451114295509409404406799452822555925124271947370395489870897751704957583721388559494711601357137355892362895163562802426267773219894054460008554489394925312007314201426461145956352) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 50000000000000004641673518601159954844517422622525385549225694063461714040984789960014820604544131271471563404911386848873613068925538235484773792943686604067961981752493137735453512646120016981018974140087018752579040234700800) (*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2)) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 (/.f64 A (*.f64 V l)) 199999999999999987850710501107292437200805744402346499063815431426464091260264678056866185148810154968737122361123243451574343874852720610604715976817337655499746028833640220821354205063248818116874396050971031981532793651016436653190982245392158996106920698373251448128152087616919197241498086962762874880) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))
(if (<=.f64 V -21359870359209100/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 V -5087291284850963/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 V 12181642514249998336/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))))
(if (<=.f64 V -5339967589802275/533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734144) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 V -5087291284850963/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 V 1487016908477783/1189613526782226450238449998519920448105008161327515567244617487452752525728323498836134651596925080471838979032154378440363668196435924566232664464881915700626376672357967899154149127867438189496191356625881149764854198965502304070525679152278926466409636084363315130259012279051747328) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))))
(if (<=.f64 V -21359870359209100/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 V -5087291284850963/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 V 1487016908477783/148701690847778306279806249814990056013126020165939445905577185931594065716040437354516831449615635058979872379019297305045458524554490570779083058110239462578297084044745987394268640983429773687023919578235143720606774870687788008815709894034865808301204510545414391282376534881468416) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))))))
(if (<=.f64 V -5339967589802275/533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734144) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 V -5087291284850963/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 V 1487016908477783/148701690847778306279806249814990056013126020165939445905577185931594065716040437354516831449615635058979872379019297305045458524554490570779083058110239462578297084044745987394268640983429773687023919578235143720606774870687788008815709894034865808301204510545414391282376534881468416) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))))))
(if (<=.f64 V -21359870359209100/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 V -5087291284850963/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 V 1487016908477783/148701690847778306279806249814990056013126020165939445905577185931594065716040437354516831449615635058979872379019297305045458524554490570779083058110239462578297084044745987394268640983429773687023919578235143720606774870687788008815709894034865808301204510545414391282376534881468416) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))))))
(if (<=.f64 V -5339967589802275/533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734144) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 V -5087291284850963/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 V 1487016908477783/148701690847778306279806249814990056013126020165939445905577185931594065716040437354516831449615635058979872379019297305045458524554490570779083058110239462578297084044745987394268640983429773687023919578235143720606774870687788008815709894034865808301204510545414391282376534881468416) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))

end178.0ms (1.4%)

Stop Event
fuel
Compiler

Compiled 1458 to 577 computations (60.4% saved)

Profiling

Loading profile data...